Instrumenting call sites.

Krystal Mo krystal.mo at oracle.com
Thu Nov 29 12:40:07 PST 2012


Hi Aleksey,

I don't think TraceTypeProfile works in this case.

First, only invokevirtual and invokeinterface actually have type 
profiles; other invokes don't. You can see that from the interpreter 
code that only invokevirtual and invokeinterface do 
profile_virtual_call() (which keeps track of the invocation count plus 
receiver types), whereas other invokes do profile_call() (only keeps the 
invocation count).

Second, even if invokedynamic had a type profile, by default it'd only 
keep track of 2 receiver types, which is not enough for Duncan's case.

- Kris

On 11/30/2012 03:34 AM, Aleksey Shipilev wrote:
> On 11/29/2012 11:15 PM, MacGregor, Duncan (GE Energy Management) wrote:
>> Thanks for any help you can give.,
> Probably unrelated, but can't you do the same thing by dumping the type
> profile from HotSpot? -XX:+TraceTypeProfile (I think it requires debug
> build at this point, but 7u12 onwards should have that available in
> production builds).
>
> -Aleksey.
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev



More information about the mlvm-dev mailing list