All,
I have been reading both MMTK and Jitrino.JET sources with write
barrier design specifically in mind.  Below are my current thoughts.

Integrating MMTK with Jitrino.JET.  In Compiler::gen_field_op(), use
gen_invoke() to emit a call to
org.mmtk.plan.PlanLocal.writeBarrier(ObjectReference src, Address
slot, ObjectReference tgt, Offset metaDataA, int metaDataB, int mode).
Ditto for Compiler::gen_static_op()  Ditto for
Compiler::gen_astore().  Note that PlanLocal is an abstract class
which means a GC algorithm specific subclass of PlanLocal will need to
be involved.

Note that if somebody has a GC written in C, one possibility is to
modify Jitrino.JET as follows.  In Compiler::gen_field_op(), use
gen_call_novm()  or gen_call_vm() to emit a call to a new runtime
helper function.  This new helper function would be written in C and
would embody a substituting write barrier.  I don't know if it makes a
difference to the write barrier regarding which version (novm or vm)
is called.  Maybe Jitrino.JET guys have comment.

Does the above look correct?  Last week, Dan Feinberg mentioned that
he will contact the MMTK/Rotor peole he knows.  It turns out that the
MMTK/Rotor port is very similar in nature to the MMTK/DRLVM port at
hand.. Dan, can you give us any update?
--
Weldon Washburn
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