[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