id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	lang	patch	platform
2010	add write barrier to all PMCs that write in unusual VTABLE functions	cotto		"The new generational gc that bacek's been working on gives us some very nice performance benefits, but it also adds a new requirement to PMCs.  src/vtable.tbl lists all known VTABLE function names, some of which are marked with :write.  All other VTABLE functions usually don't mutate the state of their PMCs.  Call these ""non-mutating"" VTABLE function.

Any PMC that implements a non-mutating VTABLE function in a way that mutates the PMC's internals now needs to use the PARROT_GC_WRITE_BARRIER macro on any PMCs that are modified, including SELF.  This won't mean very many changes for most HLLs, but it can result in mysterious failures if neglected.

There's an implementation of PARROT_GC_WRITE_BARRIER in master now, so it can safely be added to any HLL that builds with the current Parrot without breaking anything."	deprecation	closed	normal		core	3.0.0	medium	fixed					
