harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Fursov" <mike.fur...@gmail.com>
Subject Re: [drlvm] how does drlvm insert the safe point into a method
Date Mon, 28 Aug 2006 10:42:04 GMT
On 8/28/06, Weldon Washburn <weldonwjw@gmail.com> 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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message