On 4/11/07, Xiao-Feng Li <[EMAIL PROTECTED]> wrote:
On 4/12/07, Rana Dasgupta <[EMAIL PROTECTED]> wrote:
> A silly question possibly. But other than inlined fastpaths, why not
> gcm treat all helper calls as interruptible?

I think this needs case by case study to decide which ones can be
interruptible. In most cases, the helper is only an extension of a
certain bytecode operation, which can be virtually treated as a
bytecode (or part of a bytecode semantics). Normally, the safepoint
can be before or after it, but not in middle of it. If we think of the
stack map info, the helper itself may not stand for a formal method
frame for GC or exception handling.

This is a good way to look at helper calls. My point, however,  was
not really that helper calls should be interruptible. But that other
than the fastpath for which the JIT sees the IR, why not treat the
calls themselves as ineligible for code motion etc. like other
operators with side effects? Is the cost too high?
Implementing the interface extension is not hard for the VM, but looks
like implementation dependant info passed from the VM to the JIT.

Thanks,
Rana

>
> On 4/11/07, Mikhail Fursov <[EMAIL PROTECTED]> wrote:
> > All,
> > I think we need an additional method in JIT<->VM interface to check if a
> > vm-helper is GC suspension point or not.
> > Does anybody mind if I add it?
> >
> > Please read this JIRA with detailed problem description:
> > http://issues.apache.org/jira/browse/HARMONY-3626
> >
> > + I would not mind if someone helps me with this task on VM side :)
> >
> >
> > --
> > Mikhail Fursov
> >
>


--
http://xiao-feng.blogspot.com

Reply via email to