[parrot/parrot] ab1d2d: Perform GC write barriers for shared PMCs only on ...
GitHub
noreply at github.com
Sun Apr 15 13:23:41 UTC 2012
Branch: refs/heads/threads
Home: https://github.com/parrot/parrot
Commit: ab1d2d44517b5f36ff12088adcf071be4f0039c4
https://github.com/parrot/parrot/commit/ab1d2d44517b5f36ff12088adcf071be4f0039c4
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M include/parrot/thread.h
M src/gc/gc_gms.c
M src/thread.c
Log Message:
-----------
Perform GC write barriers for shared PMCs only on the main interp
Performing write barriers on a different interp than the one owning a
PMC leads to corruption of the GC's objects and dirty lists since the
write barrier removes the PMC from the objects list of the generation
the PMC belongs to. This causes the next_free pointer of the main
thread's GC's objects list to point to a place in the child interp's
objects list.
Fixed by checking the shared flag and delegating the call to the
main_interp if the current interp is a child.
Commit: 145ba94e806983868a060bf723bca699f8b585fc
https://github.com/parrot/parrot/commit/145ba94e806983868a060bf723bca699f8b585fc
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-04-15 (Sun, 15 Apr 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
MUTEX_INIT the interp_lock
Compare: https://github.com/parrot/parrot/compare/905fe09...145ba94
More information about the parrot-commits
mailing list