On 8/28/06, Weldon Washburn <[EMAIL PROTECTED]> wrote:

When the JITed code sees the flag set, it will
suspend the thread and report the live references. As far as I know
the DRLVM JIT you are looking at does not quite do this yet.


Weldon, AFAIK both DRLVM JITs: Jitrino.JET & Jitrino.OPT do back branch
polling.
In other words once JIT founds a method or a loop without any
VM-helper-calls (that are suspension points) it inserts special code (look
for "back branch polling or bbp" in sources), checks TLS flag (with a helper
call or directly)  and calls VM helper to suspend the thread if needed.
All thread suspensions points are enumeration points from GC's point of
view.

Also I know that Jitrino.OPT BBP (back-branch-polling) algorithm could be
optimized to avoid insertion of BBP checking code in to the finite loops. I
hope we will back to this problem because solving it we get a real percents
in performance.


--
Mikhail Fursov

Reply via email to