JDK-4474145 : jvm doesn't send JVMPI_EVENT_COMPILED_METHOD_LOAD events to jvmpi agents
  • Type: Bug
  • Component: vm-legacy
  • Sub-Component: jvmpi
  • Affected Version: 1.4.0
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2001-06-25
  • Updated: 2002-08-30
  • Resolved: 2002-08-30
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
1.4.0 beta3Fixed
Related Reports
Relates :  
Description
I use '-XX:+PrintCompilation' flag with _201_compress test (jvm98) and I can see
quite a few methods have been compiled, yet not a single
JVMPI_EVENT_COMPILED_METHOD_LOAD event is delivered through jvmpi to my agent
( I do receive JVMPI_EVENT_CLASS_LOAD, f.e. ). 

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: merlin-beta2 FIXED IN: merlin-beta3 INTEGRATED IN: merlin-beta3 VERIFIED IN: merlin-rc1
14-06-2004

EVALUATION mandy.chung@eng 2001-08-03 There are no COMPILED_METHOD_LOAD and COMPILED_METHOD_UNLOAD events support. There are beginnings of COMPILED_METHOD_LOAD support in the compiler but it is disabled (commented out). For Merlin beta refresh, initial work of compiled_method_load event support will be enabled but without line number table information. And also compiled_method_unload event support will be added. We will continue to work on the line number table information for compiled_method_load events. ###@###.### 2001-09-27 Thanks to Mike Paleczny who implemented the line number table support for jvmpi compiled method load events and putback for Merlin beta3. However, in the current implementation, the line number information provided by C1 and C2 is very limited (only 5% line number mapping for Java2Demo). Here is the information that Mike sent out. Mike Paleczny wrote: > > I've built and run both client and server with the following results for > the number of source line numbers which map to a pc_offset when running > -Xbatch Java2Demo -runs=3 -ccthread > > No_pc_offset pc_offset > client 10824 579 (5%) > server 7167 223 (3%) > > Similar run but with -XX:-Inline > > No_pc_offset pc_offset > client 12488 697 (5.3%) > server 6344 213 (3.2%) > > Mike. > > P.S. More line number mapping can be provided by creating more safepoints and > preventing them from being removed during optimization, but this is a more invasive change. > The server system is very aggressive at getting rid of these "unnecessary" safepoints. > Putback comment: 4474145: jvm doesn't send JVMPI_EVENT_COMPILED_METHOD_LOAD events to jvmpi agents Provide compiler-independent mapping from source lines to pc_offsets for JVMPI_EVENT_COMPILED_METHOD_LOAD. Use assumption that the <line number, bci> pairs provided by javac mean the same line number applies to all bcis until the next one specified by a <line number, bci> pair. Support multiple pc_offsets for the same line number. Correct for use of non-zero ep_offset, C1 only, which can make PcDesc offsets differ from nmethod offsets since nmethod::instructions_begin() would not be equal to nmethod::code_begin(). Remove previous implementation in C2. The analyzer team will investigate the usefulness of the limited line number mapping provided by hotspot VM and determine if they can interpolate the missing lines to provide useful information.
11-06-2004

SUGGESTED FIX mandy.chung@eng 2001-08-09 See attached webrev.tar.Z for the initial support without line number table.
09-08-2001