[gclist] write-barrier implementation in Java VM?
Sylvain Louboutin
Sylvain.Louboutin@eng.sun.com
Mon, 6 Nov 2000 10:58:27 -0800 (PST)
> I put write-barrier on the interpret codes for PUTFIELD, PUTFILED_FAST,
>PUTSTATIC, and PUTSTATIC_FAST when they are executed during the garbage
>collection cycle.
>If resolved field's type of object is reference, those object is pushed to a
>stack for
> later stage of mark according to marking status of source object and target
>object.
>
>What I am worrying is if those are only bytecode operations whose
>write-barrier are required. Are there any other part or bytecode operations
>where write-barrier must
>be applied ?
don't forget AASTORE; and beware of synchronization code depending on
how it is implemented: might result in creating a monitor object which
reference can somehow be written into the object header... (twas one of
the issue that gave me a couple of fun debugging late-nighters
with the GC of picoJava :-)
--Sylvain
------------------------------------------------------------------------
Sylvain R.Y. Louboutin N37.23'28" W122.02'16"
901 San Antonio Road, MS USUN02-101, Palo Alto, CA 94303 ---USA---
(408)7748689 sylvain.louboutin@eng.sun.com or sylvain.louboutin@ieee.org