[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