[svn:parrot] r49396 - branches/generational_gc/src/call

bacek at svn.parrot.org bacek at svn.parrot.org
Fri Oct 1 06:58:12 UTC 2010


Author: bacek
Date: Fri Oct  1 06:58:11 2010
New Revision: 49396
URL: https://trac.parrot.org/parrot/changeset/49396

Log:
Add write barriers on accessing CallContext registers. We are returning pointer-to-pointer and caller can change them.

Modified:
   branches/generational_gc/src/call/context.c

Modified: branches/generational_gc/src/call/context.c
==============================================================================
--- branches/generational_gc/src/call/context.c	Fri Oct  1 06:58:03 2010	(r49395)
+++ branches/generational_gc/src/call/context.c	Fri Oct  1 06:58:11 2010	(r49396)
@@ -755,6 +755,7 @@
 {
     ASSERT_ARGS(Parrot_pcc_get_STRING_reg)
     PARROT_ASSERT(Parrot_pcc_get_regs_used(interp, ctx, REGNO_STR) > idx);
+    Parrot_gc_write_barrier(interp, ctx);
     return &(CONTEXT_STRUCT(ctx)->bp_ps.regs_s[idx]);
 }
 
@@ -776,6 +777,7 @@
 {
     ASSERT_ARGS(Parrot_pcc_get_PMC_reg)
     PARROT_ASSERT(Parrot_pcc_get_regs_used(interp, ctx, REGNO_PMC) > idx);
+    Parrot_gc_write_barrier(interp, ctx);
     return &(CONTEXT_STRUCT(ctx)->bp_ps.regs_p[-1L - idx]);
 }
 


More information about the parrot-commits mailing list