JDK-6809483 : hotspot:::method_entry are not correctly generated for "method()V"
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs15
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris
  • CPU: generic
  • Submitted: 2009-02-24
  • Updated: 2011-03-07
  • Resolved: 2011-03-07
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 7 Other
7Fixed hs21Fixed
Related Reports
Relates :  
Description
hotspot:::method_entry probes are not correctly generated for "method()V" with "-client -Xcomp".

The are generated correctly for all other methods:
        method()V
        methodStatic()V
        methodException()V
        methodStaticException()V
        methodNative()V
        methodStaticNative()V
        methodExceptionNative(Ljava/lang/Class;)V
        methodStaticExceptionNative(Ljava/lang/Class;)V

The probes are also generated correctly in case JVMTI MethodEntry event is enabled.

Looks like some optimizations broke dtrace stuff.

Comments
EVALUATION 6809483: hotspot:::method_entry are not correctly generated for "method()V" Reviewed-by: The support for ExtendedDTrace probes requires notification points at the inline boundaries but that was missing so dtrace notifications were missed for inlined things. I added a RuntimeCall instruction to be used for these notifications and insert the proper ones during parsing. Tested with failing test from report.
03-02-2011

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/403dc4c1d7f5
22-01-2011

EVALUATION Actually it's never worked correctly, but running the tests -Xcomp used to hide it. If you run it -Xcomp -XX:CompileThreshold=50 then it will always fail, as far back as support for dtrace in c1 exists. The problem is that the dtrace calls are only performed for the root of the compile and not for any inlinees. One a method is inlined you'll never get dtrace notifications about it any more. The simplest fix is to disable inlining. The better fix is to add an Instruction for notifications during parse and emit the calls in the right locations.
29-09-2010