2006/6/1, Rana Dasgupta <[EMAIL PROTECTED]>:
> >> How will it affect VM or GC ? The WBs will also require support from
> both VM
> >> and GC. Do you have ideas on VM/GC interface for this?
> > >Also what will be usage and testing scenarios in the nearest future?
>
> >The VM<>GC interfaces is already exists in DRLVM. The only interface
> >is missing: JIT->VM helper.


  Not sure that I understood what you said here...are you saying that the
VM_GC interface has (stubbed out) barriers related entries( eg.,
gc_requires_barrier()/gc_write_barrier()), but the JIT->VM Helper runtime
support interface does not have the necessary barrier helper entries in this
code version?

Yes, exactly.


  It may be worth considering if we want JET to just call the barrier
functionality( with from/to/and slot locations )and the barrier helper
actually do everything ... including generating the store. May be
unconventional, but more modular.

Actually, this is the best way to do that. Thus we allow much
flexibility for the implementation of write barriers. I have found a
few exceptions from this rule in DRLVM VM code. It is the
implementation of atomic exchange of object field value, arraycopy and
object_clone. We should think about this to. Let me give you a few
details.

We have in DRLVM implementation the atomic exchange of value stored in
object field. It is required IMO for the j.u.atomics package. It
require some additonal function in GC interface to do atomic swap of
the value with write barrier.

Object clone and System.arraycopy write/modify whole object with
number of references in it. For the performance its currently use
special write barrier function which simply gives the object reference
saying: the whole object is changed - do something. We can leave the
variant of write barrier or just remove it and change these functions
respectivly.

Best regards,
--
Ivan
Intel Middleware Products Division

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to