[svn:parrot] r40906 - in branches/context_pmc3: compilers/imcc lib/Parrot/OpTrans lib/Parrot/Ops2c src/call src/ops
bacek at svn.parrot.org
bacek at svn.parrot.org
Tue Sep 1 10:45:23 UTC 2009
Author: bacek
Date: Tue Sep 1 10:45:22 2009
New Revision: 40906
URL: https://trac.parrot.org/parrot/changeset/40906
Log:
Use Context Regs_* accessors
Modified:
branches/context_pmc3/compilers/imcc/parser_util.c
branches/context_pmc3/lib/Parrot/OpTrans/CGP.pm
branches/context_pmc3/lib/Parrot/OpTrans/CSwitch.pm
branches/context_pmc3/lib/Parrot/Ops2c/Utils.pm
branches/context_pmc3/src/call/pcc.c
branches/context_pmc3/src/ops/pic.ops
Modified: branches/context_pmc3/compilers/imcc/parser_util.c
==============================================================================
--- branches/context_pmc3/compilers/imcc/parser_util.c Tue Sep 1 10:44:39 2009 (r40905)
+++ branches/context_pmc3/compilers/imcc/parser_util.c Tue Sep 1 10:45:22 2009 (r40906)
@@ -869,10 +869,10 @@
* Continuations (this happens when something is the target of a :outer)
* trying to return values using them when invoked. (See TT#500 for the
* report of the bug this fixes). */
- opcode_t *save_results = CURRENT_CONTEXT_FIELD(interp, current_results);
- CURRENT_CONTEXT_FIELD(interp, current_results) = NULL;
+ opcode_t *save_results = Parrot_pcc_get_results(interp, CURRENT_CONTEXT(interp));
+ Parrot_pcc_set_results(interp, CURRENT_CONTEXT(interp), NULL);
sub = imcc_compile(interp, s, 0, &error_message);
- CURRENT_CONTEXT_FIELD(interp, current_results) = save_results;
+ Parrot_pcc_set_results(interp, CURRENT_CONTEXT(interp), save_results);
if (sub)
return sub;
Modified: branches/context_pmc3/lib/Parrot/OpTrans/CGP.pm
==============================================================================
--- branches/context_pmc3/lib/Parrot/OpTrans/CGP.pm Tue Sep 1 10:44:39 2009 (r40905)
+++ branches/context_pmc3/lib/Parrot/OpTrans/CGP.pm Tue Sep 1 10:45:22 2009 (r40906)
@@ -91,7 +91,7 @@
return "if ($addr == 0)
return 0;
Parrot_cx_handle_tasks(interp, interp->scheduler);
- _reg_base = (char*)CURRENT_CONTEXT_FIELD(interp, bp.regs_i);
+ _reg_base = (char*)Parrot_pcc_get_regs_ni(interp, CURRENT_CONTEXT(interp))->regs_i;
goto **(void **)(cur_opcode = opcode_to_prederef(interp, $addr))";
}
}
Modified: branches/context_pmc3/lib/Parrot/OpTrans/CSwitch.pm
==============================================================================
--- branches/context_pmc3/lib/Parrot/OpTrans/CSwitch.pm Tue Sep 1 10:44:39 2009 (r40905)
+++ branches/context_pmc3/lib/Parrot/OpTrans/CSwitch.pm Tue Sep 1 10:45:22 2009 (r40906)
@@ -154,7 +154,7 @@
#endif
SWITCH_RELOAD:
- _reg_base = (char*)CURRENT_CONTEXT_FIELD(interp, bp.regs_i);
+ _reg_base = (char*)Parrot_pcc_get_regs_ni(interp, CURRENT_CONTEXT(interp))->regs_i;
do {
SWITCH_AGAIN:
Parrot_cx_handle_tasks(interp, interp->scheduler);
Modified: branches/context_pmc3/lib/Parrot/Ops2c/Utils.pm
==============================================================================
--- branches/context_pmc3/lib/Parrot/Ops2c/Utils.pm Tue Sep 1 10:44:39 2009 (r40905)
+++ branches/context_pmc3/lib/Parrot/Ops2c/Utils.pm Tue Sep 1 10:45:22 2009 (r40906)
@@ -685,7 +685,7 @@
__asm__ ("jmp *4(%ebp)"); /* jump to ret addr, used by JIT */
# endif
#endif
- _reg_base = (char*)CURRENT_CONTEXT_FIELD(interp, bp.regs_i);
+ _reg_base = (char*)Parrot_pcc_get_regs_ni(interp, CURRENT_CONTEXT(interp))->regs_i;
goto **(void **)cur_opcode;
END_C
Modified: branches/context_pmc3/src/call/pcc.c
==============================================================================
--- branches/context_pmc3/src/call/pcc.c Tue Sep 1 10:44:39 2009 (r40905)
+++ branches/context_pmc3/src/call/pcc.c Tue Sep 1 10:45:22 2009 (r40906)
@@ -1198,15 +1198,18 @@
Regs_ps bp_ps;
/* clone sets key values according to refered register items */
- bp = CURRENT_CONTEXT_FIELD(interp, bp);
- bp_ps = CURRENT_CONTEXT_FIELD(interp, bp_ps);
- CURRENT_CONTEXT_FIELD(interp, bp) = CONTEXT_FIELD(interp, st->src.ctx, bp);
- CURRENT_CONTEXT_FIELD(interp, bp_ps) = CONTEXT_FIELD(interp, st->src.ctx, bp_ps);
+ bp = *Parrot_pcc_get_regs_ni(interp, CURRENT_CONTEXT(interp));
+ bp_ps = *Parrot_pcc_get_regs_ps(interp, CURRENT_CONTEXT(interp));
+
+ Parrot_pcc_set_regs_ni(interp, CURRENT_CONTEXT(interp),
+ Parrot_pcc_get_regs_ni(interp, st->src.ctx));
+ Parrot_pcc_set_regs_ps(interp, CURRENT_CONTEXT(interp),
+ Parrot_pcc_get_regs_ps(interp, st->src.ctx));
UVal_pmc(st->val) = VTABLE_clone(interp, key);
- CURRENT_CONTEXT_FIELD(interp, bp) = bp;
- CURRENT_CONTEXT_FIELD(interp, bp_ps) = bp_ps;
+ Parrot_pcc_set_regs_ni(interp, CURRENT_CONTEXT(interp), &bp);
+ Parrot_pcc_set_regs_ps(interp, CURRENT_CONTEXT(interp), &bp_ps);
return;
}
Modified: branches/context_pmc3/src/ops/pic.ops
==============================================================================
--- branches/context_pmc3/src/ops/pic.ops Tue Sep 1 10:44:39 2009 (r40905)
+++ branches/context_pmc3/src/ops/pic.ops Tue Sep 1 10:45:22 2009 (r40906)
@@ -154,7 +154,7 @@
if (lru->u.signature == sig) {
if (sig) {
n = ((arg_pass_f)lru->f.real_function)(interp, sig,
- (char*)CONTEXT_FIELD(interp, caller_ctx, bp.regs_i), src_pred,
+ (char*)Parrot_pcc_get_regs_ni(interp, caller_ctx)->regs_i, src_pred,
_reg_base, (void**)cur_opcode);
}
else
@@ -212,7 +212,7 @@
if (sig) {
n = ((arg_pass_f)lru->f.real_function)(interp, mic->m.sig,
_reg_base, (void**)cur_opcode,
- (char*)CONTEXT_FIELD(interp, caller_ctx, bp.regs_i), dest_pred);
+ (char*)Parrot_pcc_get_regs_ni(interp, caller_ctx)->regs_i, dest_pred);
}
else
n = 2;
More information about the parrot-commits
mailing list