harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Astapchuk <alex.astapc...@gmail.com>
Subject Re: {DRLVM] Jitrino.JET ---- back branch polling would make MMTK port easier
Date Fri, 02 Jun 2006 15:27:05 GMT

Weldon Washburn wrote:
> A question for the folks working on Jitrino.JET.  I see comments in
> the source code about back branch polling.   Can I use back branch
> polling?
Yes. The 'back branch pooling' is turned on by default in Jitrino.JET. 
It inserts a call to VM's helper VM_RT_GC_SAFE_POINT at every back branch.

(Well, to be really fair not for each. There is a simple per-basic
block optimization - if there were a call to VM helper in the basic
block - eg. NEW, NEWARRAY, etc - then the pooling code is skipped).

> It turns out that polling in a controlled fashion for GC would make
> the MMTK port easier.  MMTK has java classes that implement the
> "Uninterruptible" interface.  Basically this means no GC is allowed
> while methods of such classes are executing.  It looks to be fairly
> straight forward to add code to the back branch callout that skips GC
> if the current method implements Uninterruptible.

Well, as I can see 2 options here  - we can either add the proper
analysis to the JIT or the VM can do it - the VM's helper can check
which method it was called from and then behave appropriately.
Though my rough estimation is that adding the analysis to Jitrino.JET
would be the easiest way.

Intel Middleware Products Division

Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org

View raw message