harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gregory Shimansky <gshiman...@gmail.com>
Subject Re: [drlvm][JIT] does back-branch polling call jvmti_safe_point?
Date Wed, 01 Aug 2007 11:16:52 GMT
Weldon Washburn wrote:
> A question for Harmony compiler developers.  I have been tracing through the
> code with the debugger.  It looks like the JIT calls jvmti_safe_point on
> back-branch polling.  And the poll variable that is tested to determine if a
> callout is required is hythread_t.request.  Is this correct?
> 
> If the above is correct, does anyone know why the back-branch polling
> support routine is called jvmti_safe_point?  Is this support routine somehow
> tied to JVMTI?

JIT inserts calls to safepoint VM helper on back branch polling. Somehow 
in VM this helper was changed to always call jvmti_safe_point function 
instead of hythread_safe_point when JVMTI is not enabled.

The jvmti_safe_point contains the usual safepoint functionality, but it 
also checks whether a pop frame request has been set for the thread. Pop 
frame checks are necessary for implementation of JVMTI PopFrame [1] 
function.

I think that when JVMTI is not enabled the safepoint helper should call 
a different function that doesn't perform pop frame checks. It will make 
the code a bit faster.

[1] http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#PopFrame

-- 
Gregory


Mime
View raw message