JDK-7149991 : EA: less allocations are eliminated after 7146442 fix
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs25,8,9,10
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • OS: generic
  • CPU: generic
  • Submitted: 2012-02-29
  • Updated: 2020-11-03
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Relates :  
Description
After 7146442 fix in the next test only new array is eliminated when before both, array and object, were elimined:

  int test0_3(int y) {
    int x = 3;
    Point p[] = new Point[1];
    p[0] = new Point();
    p[0].x = x;
    p[0].y = 3 * x + y;
    return p[0].x * p[0].y;
  }

It happens because [0] element may contain NULL or new Point so that Point object marked as non scalar replacable in ConnectionGraph::adjust_scalar_replaceable_state().

To fix it do loads/stores domination checks in find_init_values().

Comments
Have to check if Graal has this issue.
08-03-2018

I checked, this still affects JDK 9 and 10.
26-01-2017

8-pool is an invalid affects version. Set 8 and hs25.
12-11-2013