JDK-8253101 : Clean up CallStaticJavaNode EA flags
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 16
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-09-14
  • Updated: 2020-11-05
  • Resolved: 2020-10-28
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.
JDK 16
16 b23Fixed
Related Reports
Relates :  
Description
These two fields are reported as only written to, but not read from anywhere:

class CallStaticJavaNode : public CallJavaNode {
  ...
  // Result of Escape Analysis
  bool _is_scalar_replaceable;
  bool _is_non_escaping;
}

There are accesses to AllocNode::{_is_scalar_replaceable,_is_non_escaping}, but not to CallStaticJavaNode.
This is either a bug, or more likely a leftover from EliminateAutoBox work, as these fields were introduced by JDK-6934604.
Comments
Changeset: 1a5e6c98 Author: Jason Tatton (AWS) <jptatton@amazon.com> Committer: Paul Hohensee <phh@openjdk.org> Date: 2020-10-28 22:44:52 +0000 URL: https://git.openjdk.java.net/jdk/commit/1a5e6c98
28-10-2020

AllocateNode even isn't a subclass of CallStaticJavaNode. These 2 properties only make sense for an AllocateNode. Yes, I think we should clean up CallStaticJavaNode.
13-10-2020