harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From George Timoshenko <george.timoshe...@gmail.com>
Subject Re: [drlvm][jvmti] Profiling support - Compiled Method Load event
Date Fri, 29 Dec 2006 06:26:51 GMT
The second version of JIT-side changes was attached to JIRA.

Comments are highly appreciated.

Features of the version 2:

1. Inlinees are reported according to their inline depth starting from 
'1'. (see comment by Ivan Popov in the mail-list thread)
     inlineDepth == 1 - means that an inlinee is inlined by the most 
outer method (which is being compiled in the current compilation session.)
     'outer' argument has respective value.

2. If inlinee layout has several unsuccessive regions this inlinee is 
reported several times with respective 'startAddr' and 'size' arguments.

3. If Inlinee A inlines a 2 level inlinee, say, B. Locations of B are 
also reported as A locations.
     So some instructions appeares in several LocationMaps. The 
difference is:
     in the map, reported with B (first-hand owner) this locations have 
valid bcOffsets (if they are available)
     in the maps of later-hand owners (A in our case) bcOffsets of such 
locations are always ILLEGAL

TODO:
4. LocationMap contains _all_ instructions of a method. It should be 
optimized:

Now:

addr1 - bcOffset_X
addr2 - bcOffset_X
addr3 - bcOffset_X
addr4 - bcOffset_Y

Should be:
addr1 - bcOffset_X
addr4 - bcOffset_Y

which means that all instructions in [addr1;add4) interval have bcOffset 
== bcOffset_X


Mime
View raw message