[svn:parrot] r40762 - in branches/context_pmc3: include/parrot src src/call src/gc src/jit/i386 src/ops src/pmc

bacek at svn.parrot.org bacek at svn.parrot.org
Mon Aug 24 12:09:50 UTC 2009


Author: bacek
Date: Mon Aug 24 12:09:42 2009
New Revision: 40762
URL: https://trac.parrot.org/parrot/changeset/40762

Log:
Revert r40714 (manually). We can't preserve full backward compatibility
for plain C structures anyway.

Modified:
   branches/context_pmc3/include/parrot/interpreter.h
   branches/context_pmc3/src/call/ops.c
   branches/context_pmc3/src/call/pcc.c
   branches/context_pmc3/src/debug.c
   branches/context_pmc3/src/exceptions.c
   branches/context_pmc3/src/gc/alloc_register.c
   branches/context_pmc3/src/gc/mark_sweep.c
   branches/context_pmc3/src/global.c
   branches/context_pmc3/src/jit.c
   branches/context_pmc3/src/jit/i386/jit_defs.c
   branches/context_pmc3/src/ops/core.ops
   branches/context_pmc3/src/ops/debug.ops
   branches/context_pmc3/src/ops/pic.ops
   branches/context_pmc3/src/ops/var.ops
   branches/context_pmc3/src/pic.c
   branches/context_pmc3/src/pmc/continuation.pmc
   branches/context_pmc3/src/pmc/coroutine.pmc
   branches/context_pmc3/src/pmc/nci.pmc
   branches/context_pmc3/src/pmc/parrotinterpreter.pmc
   branches/context_pmc3/src/pmc/sub.pmc
   branches/context_pmc3/src/scheduler.c
   branches/context_pmc3/src/sub.c
   branches/context_pmc3/src/warnings.c

Modified: branches/context_pmc3/include/parrot/interpreter.h
==============================================================================
--- branches/context_pmc3/include/parrot/interpreter.h	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/include/parrot/interpreter.h	Mon Aug 24 12:09:42 2009	(r40762)
@@ -193,8 +193,10 @@
     size_t n_allocated;                 /* allocated size of it */
 } Prederef;
 
-
-#define CONTEXT(interp) Parrot_cx_get_context(interp, interp->ctx)
+/*
+ * Get Context from interpeter.
+ */
+#define CONTEXT(interp) (interp->ctx)
 
 
 /*
@@ -203,7 +205,6 @@
  * Not considered as part of public API. Should be replaced with proper accessor
  * functions to manipulate Context.
  */
-#define CURRENT_CONTEXT(interp)             (interp->ctx)
 #define CONTEXT_FIELD(interp, ctx, name)    ((Parrot_cx_get_context(interp, ctx))->name)
 #define CURRENT_CONTEXT_FIELD(interp, name) CONTEXT_FIELD(interp, interp->ctx, name)
 

Modified: branches/context_pmc3/src/call/ops.c
==============================================================================
--- branches/context_pmc3/src/call/ops.c	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/call/ops.c	Mon Aug 24 12:09:42 2009	(r40762)
@@ -169,7 +169,7 @@
         Parrot_ex_throw_from_c_args(interp, NULL, 1,
             "Subroutine returned a NULL address");
 
-    ctx    = CURRENT_CONTEXT(interp);
+    ctx    = CONTEXT(interp);
     offset = dest - interp->code->base.data;
     runops(interp, offset);
     return ctx;
@@ -212,7 +212,7 @@
 
     char new_sig[10];
     const char *sig_p;
-    PMC * const old_ctx = CURRENT_CONTEXT(interp);
+    PMC * const old_ctx = CONTEXT(interp);
 
     interp->current_cont   = new_ret_continuation_pmc(interp, NULL);
     interp->current_object = obj;
@@ -264,7 +264,7 @@
             "no get_params in sub");
      */
 
-    ctx    = CURRENT_CONTEXT(interp);
+    ctx    = CONTEXT(interp);
     offset = dest - interp->code->base.data;
     runops(interp, offset);
     return ctx;
@@ -304,7 +304,7 @@
         Parrot_ex_throw_from_c_args(interp, NULL, 1,
             "Subroutine returned a NULL address");
 
-    ctx    = CURRENT_CONTEXT(interp);
+    ctx    = CONTEXT(interp);
     offset = dest - interp->code->base.data;
     runops(interp, offset);
     return set_retval(interp, 0, ctx);

Modified: branches/context_pmc3/src/call/pcc.c
==============================================================================
--- branches/context_pmc3/src/call/pcc.c	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/call/pcc.c	Mon Aug 24 12:09:42 2009	(r40762)
@@ -489,13 +489,13 @@
     init_call_stats(st);
 
     if (PMC_IS_NULL(interp->args_signature))
-        Parrot_init_arg_op(interp, CURRENT_CONTEXT(interp), interp->current_args,
+        Parrot_init_arg_op(interp, CONTEXT(interp), interp->current_args,
                            &st->src);
     else
-        Parrot_init_arg_indexes_and_sig_pmc(interp, CURRENT_CONTEXT(interp),
+        Parrot_init_arg_indexes_and_sig_pmc(interp, CONTEXT(interp),
             interp->current_args, interp->args_signature, &st->src);
 
-    Parrot_init_arg_sig(interp, CURRENT_CONTEXT(interp), sig, NULL, &st->dest);
+    Parrot_init_arg_sig(interp, CONTEXT(interp), sig, NULL, &st->dest);
 }
 
 
@@ -516,7 +516,7 @@
 Parrot_init_ret_nci(PARROT_INTERP, ARGOUT(call_state *st), ARGIN(const char *sig))
 {
     ASSERT_ARGS(Parrot_init_ret_nci)
-    PMC *ctx                 = CURRENT_CONTEXT(interp);
+    PMC *ctx                 = CONTEXT(interp);
     PMC * const current_cont = CONTEXT_FIELD(interp, ctx, current_cont);
 
     /* if this NCI call was a taicall, return results to caller's get_results
@@ -525,7 +525,7 @@
         ctx = PMC_cont(current_cont)->to_ctx;
 
     /* TODO simplify all */
-    Parrot_init_arg_sig(interp, CURRENT_CONTEXT(interp), sig, NULL, &st->src);
+    Parrot_init_arg_sig(interp, CONTEXT(interp), sig, NULL, &st->src);
 
     /* Non-constant signatures are stored in ctx->results_signature instead of
      * in the constants table. */
@@ -1933,7 +1933,7 @@
     ASSERT_ARGS(parrot_pass_args_fromc)
     call_state st;
 
-    Parrot_init_arg_op(interp, CURRENT_CONTEXT(interp), dest, &st.dest);
+    Parrot_init_arg_op(interp, CONTEXT(interp), dest, &st.dest);
     Parrot_init_arg_sig(interp, old_ctxp, sig, PARROT_VA_TO_VAPTR(ap), &st.src);
     Parrot_process_args(interp, &st, PARROT_PASS_PARAMS);
     return dest + st.dest.n + 2;
@@ -1963,7 +1963,7 @@
     interp->current_returns = NULL;
 
     if (todo) {
-        todo = Parrot_init_arg_sig(interp, CURRENT_CONTEXT(interp), sig, NULL,
+        todo = Parrot_init_arg_sig(interp, CONTEXT(interp), sig, NULL,
             &st->dest);
 
         if (todo) {

Modified: branches/context_pmc3/src/debug.c
==============================================================================
--- branches/context_pmc3/src/debug.c	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/debug.c	Mon Aug 24 12:09:42 2009	(r40762)
@@ -2211,7 +2211,7 @@
 PDB_check_condition(PARROT_INTERP, ARGIN(const PDB_condition_t *condition))
 {
     ASSERT_ARGS(PDB_check_condition)
-    PMC *ctx = CURRENT_CONTEXT(interp);
+    PMC *ctx = CONTEXT(interp);
 
     TRACEDEB_MSG("PDB_check_condition");
 
@@ -3512,7 +3512,7 @@
 
     /* information about the current sub */
     PMC *sub = interpinfo_p(interp, CURRENT_SUB);
-    PMC *ctx = CURRENT_CONTEXT(interp);
+    PMC *ctx = CONTEXT(interp);
 
     if (!PMC_IS_NULL(sub)) {
         str = Parrot_Context_infostr(interp, ctx);

Modified: branches/context_pmc3/src/exceptions.c
==============================================================================
--- branches/context_pmc3/src/exceptions.c	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/exceptions.c	Mon Aug 24 12:09:42 2009	(r40762)
@@ -253,7 +253,7 @@
     /* Set up the continuation context of the handler in the interpreter. */
     else if (PMC_cont(handler)->current_results)
         address = pass_exception_args(interp, "P", address,
-                CURRENT_CONTEXT(interp), exception);
+                CONTEXT(interp), exception);
 
     if (PObj_get_FLAGS(handler) & SUB_FLAG_C_HANDLER) {
         /* it's a C exception handler */
@@ -403,7 +403,7 @@
     address = VTABLE_invoke(interp, handler, NULL);
     if (PMC_cont(handler)->current_results)
         address = pass_exception_args(interp, "P", address,
-                CURRENT_CONTEXT(interp), exception);
+                CONTEXT(interp), exception);
     PARROT_ASSERT(return_point->handler_start == NULL);
     return_point->handler_start = address;
     longjmp(return_point->resume, 2);

Modified: branches/context_pmc3/src/gc/alloc_register.c
==============================================================================
--- branches/context_pmc3/src/gc/alloc_register.c	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/gc/alloc_register.c	Mon Aug 24 12:09:42 2009	(r40762)
@@ -320,7 +320,7 @@
 Parrot_push_context(PARROT_INTERP, ARGIN(const INTVAL *n_regs_used))
 {
     ASSERT_ARGS(Parrot_push_context)
-    PMC * const old = CURRENT_CONTEXT(interp);
+    PMC * const old = CONTEXT(interp);
     PMC * const ctx = Parrot_set_new_context(interp, n_regs_used);
 
     CONTEXT_FIELD(interp, ctx, caller_ctx)  = old;
@@ -349,11 +349,11 @@
 Parrot_pop_context(PARROT_INTERP)
 {
     ASSERT_ARGS(Parrot_pop_context)
-    PMC * const ctx = CURRENT_CONTEXT(interp);
+    PMC * const ctx = CONTEXT(interp);
     PMC * const old = CONTEXT_FIELD(interp, ctx, caller_ctx);
 
     /* restore old, set cached interpreter base pointers */
-    CURRENT_CONTEXT(interp) = old;
+    CONTEXT(interp) = old;
 }
 
 
@@ -437,10 +437,10 @@
 Parrot_set_new_context(PARROT_INTERP, ARGIN(const INTVAL *number_regs_used))
 {
     ASSERT_ARGS(Parrot_set_new_context)
-    PMC *old = CURRENT_CONTEXT(interp);
+    PMC *old = CONTEXT(interp);
     PMC *ctx = Parrot_alloc_context(interp, number_regs_used, old);
 
-    CURRENT_CONTEXT(interp) = ctx;
+    CONTEXT(interp) = ctx;
 
     return ctx;
 }

Modified: branches/context_pmc3/src/gc/mark_sweep.c
==============================================================================
--- branches/context_pmc3/src/gc/mark_sweep.c	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/gc/mark_sweep.c	Mon Aug 24 12:09:42 2009	(r40762)
@@ -199,7 +199,7 @@
         Parrot_gc_mark_PObj_alive(interp, obj);
 
     /* mark the current context. */
-    Parrot_gc_mark_PObj_alive(interp, (PObj*)CURRENT_CONTEXT(interp));
+    Parrot_gc_mark_PObj_alive(interp, (PObj*)CONTEXT(interp));
 
     /* mark the dynamic environment. */
     Parrot_gc_mark_PObj_alive(interp, (PObj*)interp->dynamic_env);

Modified: branches/context_pmc3/src/global.c
==============================================================================
--- branches/context_pmc3/src/global.c	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/global.c	Mon Aug 24 12:09:42 2009	(r40762)
@@ -678,7 +678,7 @@
 Parrot_find_name_op(PARROT_INTERP, ARGIN(STRING *name), SHIM(void *next))
 {
     ASSERT_ARGS(Parrot_find_name_op)
-    PMC * const ctx     = CURRENT_CONTEXT(interp);
+    PMC * const ctx     = CONTEXT(interp);
     PMC * const lex_pad = Parrot_find_pad(interp, name, ctx);
     PMC *g;
 

Modified: branches/context_pmc3/src/jit.c
==============================================================================
--- branches/context_pmc3/src/jit.c	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/jit.c	Mon Aug 24 12:09:42 2009	(r40762)
@@ -287,7 +287,7 @@
         int arg_type;
         PMC *sig;
         if (argn >= args) {
-            sig = Parrot_cx_get_pmc_constant(interp, CURRENT_CONTEXT(interp), cur_op[1]);
+            sig = Parrot_cx_get_pmc_constant(interp, CONTEXT(interp), cur_op[1]);
             arg_type = VTABLE_get_integer_keyed_int(interp,
                     sig, argn - args);
             arg_type &= (PARROT_ARG_TYPE_MASK | PARROT_ARG_CONSTANT);

Modified: branches/context_pmc3/src/jit/i386/jit_defs.c
==============================================================================
--- branches/context_pmc3/src/jit/i386/jit_defs.c	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/jit/i386/jit_defs.c	Mon Aug 24 12:09:42 2009	(r40762)
@@ -1232,7 +1232,7 @@
     PMC *sig_pmc;
     INTVAL *sig_bits, i, n;
 
-    sig_pmc = Parrot_cx_get_pmc_constant(interp, CURRENT_CONTEXT(interp), CUR_OPCODE[1]);
+    sig_pmc = Parrot_cx_get_pmc_constant(interp, CONTEXT(interp), CUR_OPCODE[1]);
     GETATTR_FixedIntegerArray_int_array(interp, sig_pmc, sig_bits);
     n = VTABLE_elements(interp, sig_pmc);
     jit_info->n_args = n;
@@ -1369,7 +1369,7 @@
     PMC *sig_pmc;
     INTVAL *sig_bits, sig;
 
-    sig_pmc = Parrot_cx_get_pmc_constant(interp, CURRENT_CONTEXT(interp), CUR_OPCODE[1]);
+    sig_pmc = Parrot_cx_get_pmc_constant(interp, CONTEXT(interp), CUR_OPCODE[1]);
     if (!VTABLE_elements(interp, sig_pmc))
         return;
     GETATTR_FixedIntegerArray_int_array(interp, sig_pmc, sig_bits);

Modified: branches/context_pmc3/src/ops/core.ops
==============================================================================
--- branches/context_pmc3/src/ops/core.ops	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/ops/core.ops	Mon Aug 24 12:09:42 2009	(r40762)
@@ -541,10 +541,10 @@
     opcode_t *src_indexes, *dst_indexes;
 
     interp->current_params = _this;
-    ctx = CURRENT_CONTEXT(interp);
-    ccont = CONTEXT_FIELD(interp, ctx, current_cont);
+    ctx     = CONTEXT(interp);
+    ccont   = CONTEXT_FIELD(interp, ctx, current_cont);
 
-    caller_ctx = CONTEXT_FIELD(interp, ctx, caller_ctx);
+    caller_ctx  = CONTEXT_FIELD(interp, ctx, caller_ctx);
 
     src_indexes = interp->current_args;
     dst_indexes = interp->current_params;
@@ -572,7 +572,7 @@
     opcode_t *src_indexes, *dest_indexes;
 
     interp->current_returns = _this;
-    ctx                     = CURRENT_CONTEXT(interp);
+    ctx                     = CONTEXT(interp);
     caller_ctx              = CONTEXT_FIELD(interp, ctx, caller_ctx);
     ccont                   = CONTEXT_FIELD(interp, ctx, current_cont);
 

Modified: branches/context_pmc3/src/ops/debug.ops
==============================================================================
--- branches/context_pmc3/src/ops/debug.ops	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/ops/debug.ops	Mon Aug 24 12:09:42 2009	(r40762)
@@ -121,7 +121,7 @@
 
 inline op getline(out INT) {
   Parrot_Context_info info;
-  Parrot_Context_get_info(interp, CURRENT_CONTEXT(interp), &info);
+  Parrot_Context_get_info(interp, CONTEXT(interp), &info);
   $1 = info.line;
 }
 
@@ -133,7 +133,7 @@
 
 inline op getfile(out STR) {
   Parrot_Context_info info;
-  Parrot_Context_get_info(interp, CURRENT_CONTEXT(interp), &info);
+  Parrot_Context_get_info(interp, CONTEXT(interp), &info);
   $1 = info.file;
 }
 

Modified: branches/context_pmc3/src/ops/pic.ops
==============================================================================
--- branches/context_pmc3/src/ops/pic.ops	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/ops/pic.ops	Mon Aug 24 12:09:42 2009	(r40762)
@@ -138,10 +138,10 @@
     /* avoid load dependencies - intermix derefs
      * - yes, confusing but faster
      */
-    ctx = CURRENT_CONTEXT(interp);
-    src_pc = interp->current_args;
-    mic = (Parrot_MIC *) cur_opcode[1];
-    caller_ctx = CONTEXT_FIELD(interp, ctx, caller_ctx);
+    ctx         = CONTEXT(interp);
+    src_pc      = interp->current_args;
+    mic         = (Parrot_MIC *) cur_opcode[1];
+    caller_ctx  = CONTEXT_FIELD(interp, ctx, caller_ctx);
     if (src_pc) {
         src_pred = (void**) src_pc - CONTEXT_FIELD(interp, caller_ctx, pred_offset);
         sig = (PMC*)(src_pred[1]);
@@ -186,10 +186,10 @@
     Parrot_cont *cc;
     int n;
 
-    ctx = CURRENT_CONTEXT(interp);
-    mic = (Parrot_MIC *) cur_opcode[1];
-    ccont = CONTEXT_FIELD(interp, ctx, current_cont);
-    cc = PMC_cont(ccont);
+    ctx     = CONTEXT(interp);
+    mic     = (Parrot_MIC *) cur_opcode[1];
+    ccont   = CONTEXT_FIELD(interp, ctx, current_cont);
+    cc      = PMC_cont(ccont);
     if (!cc->address) {
         interp->current_returns = CUR_OPCODE;
         n = VTABLE_get_integer(interp, mic->m.sig);
@@ -244,7 +244,7 @@
     INTVAL i, n_args, *sig_bits;
     PMC *sig;
 
-    ctx = CURRENT_CONTEXT(interp);
+    ctx = CONTEXT(interp);
     mic = (Parrot_MIC *) cur_opcode[1];
     /* get_results */
     pc = CONTEXT_FIELD(interp, ctx, current_results);

Modified: branches/context_pmc3/src/ops/var.ops
==============================================================================
--- branches/context_pmc3/src/ops/var.ops	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/ops/var.ops	Mon Aug 24 12:09:42 2009	(r40762)
@@ -37,7 +37,7 @@
 =cut
 
 op store_lex(in STR, invar PMC) {
-    PMC     * const ctx      = CURRENT_CONTEXT(interp);
+    PMC     * const ctx      = CONTEXT(interp);
     STRING  * const lex_name = $1;
     PMC     * const lex_pad  = Parrot_find_pad(interp, lex_name, ctx);
 
@@ -62,7 +62,7 @@
 =cut
 
 op find_lex(out PMC, in STR) {
-    PMC     * const ctx      = CURRENT_CONTEXT(interp);
+    PMC     * const ctx      = CONTEXT(interp);
     STRING  * const lex_name = $2;
     PMC     * const lex_pad  = Parrot_find_pad(interp, lex_name, ctx);
 
@@ -92,7 +92,7 @@
 
 op find_caller_lex(out PMC, in STR) {
     STRING  * const lex_name = $2;
-    PMC     * ctx            = CURRENT_CONTEXT(interp);
+    PMC     * ctx            = CONTEXT(interp);
     PMC     * result         = PMCNULL;
 
     for (ctx = CONTEXT_FIELD(interp, ctx, caller_ctx);

Modified: branches/context_pmc3/src/pic.c
==============================================================================
--- branches/context_pmc3/src/pic.c	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/pic.c	Mon Aug 24 12:09:42 2009	(r40762)
@@ -698,7 +698,7 @@
     PMC                *caller_ctx;
     opcode_t           *args;
     PMC         * const sig1 = (PMC *)(pc[1]);
-    PMC                *ctx  = CURRENT_CONTEXT(interp);
+    PMC                *ctx  = CONTEXT(interp);
     int                 type = 0;
 
     /* check params */
@@ -799,7 +799,7 @@
     opcode_t *op, n;
     int flags;
 
-    PMC * const ctx      = CURRENT_CONTEXT(interp);
+    PMC * const ctx      = CONTEXT(interp);
     PMC * const sig_args = (PMC *)(pc[1]);
 
     ASSERT_SIG_PMC(sig_args);

Modified: branches/context_pmc3/src/pmc/continuation.pmc
==============================================================================
--- branches/context_pmc3/src/pmc/continuation.pmc	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/pmc/continuation.pmc	Mon Aug 24 12:09:42 2009	(r40762)
@@ -221,7 +221,7 @@
 
     VTABLE opcode_t *invoke(void *next) {
         Parrot_cont *cc           = PMC_cont(SELF);
-        PMC         *from_ctx     = CURRENT_CONTEXT(interp);
+        PMC         *from_ctx     = CONTEXT(interp);
         PMC         *to_ctx       = cc->to_ctx;
         opcode_t    *pc           = cc->address;
         UNUSED(next)

Modified: branches/context_pmc3/src/pmc/coroutine.pmc
==============================================================================
--- branches/context_pmc3/src/pmc/coroutine.pmc	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/pmc/coroutine.pmc	Mon Aug 24 12:09:42 2009	(r40762)
@@ -144,7 +144,7 @@
                         "tail call to coro not allowed");
 
             /* first time set current sub, cont, object */
-            caller_ctx = CURRENT_CONTEXT(interp);
+            caller_ctx = CONTEXT(interp);
             ctx        = Parrot_set_new_context(INTERP, co->n_regs_used);
 
             co->ctx                   = ctx;
@@ -188,10 +188,10 @@
             /* and the recent call context */
             ccont                 = CONTEXT_FIELD(INTERP, ctx, current_cont);
             CONTEXT_FIELD(INTERP, ctx, caller_ctx) = PMC_cont(ccont)->to_ctx
-                                  = CURRENT_CONTEXT(interp);
+                                  = CONTEXT(interp);
 
             /* set context to coro context */
-            CURRENT_CONTEXT(interp) = ctx;
+            CONTEXT(interp) = ctx;
         }
         else {
             PMC *ccont;
@@ -214,7 +214,7 @@
                                "Cannot resume dead coroutine.");
             }
 
-            CURRENT_CONTEXT(interp) = ctx;
+            CONTEXT(interp) = ctx;
         }
 
         /* toggle address */

Modified: branches/context_pmc3/src/pmc/nci.pmc
==============================================================================
--- branches/context_pmc3/src/pmc/nci.pmc	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/pmc/nci.pmc	Mon Aug 24 12:09:42 2009	(r40762)
@@ -346,7 +346,7 @@
          */
         if (cont && cont != NEED_CONTINUATION
         && (PObj_get_FLAGS(cont) & SUB_FLAG_TAILCALL)) {
-            cont = CONTEXT(interp)->current_cont;
+            cont = CURRENT_CONTEXT_FIELD(interp, current_cont);
             next = VTABLE_invoke(INTERP, cont, next);
         }
 

Modified: branches/context_pmc3/src/pmc/parrotinterpreter.pmc
==============================================================================
--- branches/context_pmc3/src/pmc/parrotinterpreter.pmc	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/pmc/parrotinterpreter.pmc	Mon Aug 24 12:09:42 2009	(r40762)
@@ -184,7 +184,7 @@
     return ret;
 }
 
-pmclass ParrotInterpreter no_ro {
+pmclass ParrotInterpreter need_ext no_ro {
     ATTR struct parrot_interp_t *interp; /* this PMC's interpreter */
     ATTR INTVAL                  tid;    /* thread id */
     ATTR PMC                    *args;   /* args passed to this thread */
@@ -478,7 +478,7 @@
             Parrot_ex_throw_from_c_args(interp, NULL, CONTROL_ERROR,
                 "No such caller depth");
 
-        ctx = CURRENT_CONTEXT(interp);
+        ctx = CONTEXT(interp);
 
         if (outer) {
             for (; level; --level) {
@@ -531,7 +531,7 @@
 
         if (Parrot_str_equal(interp, item, s)) {
             PMC        *sub_pmc = CONTEXT_FIELD(interp, ctx, current_sub);
-            if (ctx == CURRENT_CONTEXT(interp)) {
+            if (ctx == CONTEXT(interp)) {
                 /* We can't know the current program counter for the currently
                  * executing sub, so can't return annotations for that. */
                 Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,

Modified: branches/context_pmc3/src/pmc/sub.pmc
==============================================================================
--- branches/context_pmc3/src/pmc/sub.pmc	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/pmc/sub.pmc	Mon Aug 24 12:09:42 2009	(r40762)
@@ -270,7 +270,7 @@
          *
          */
         pc                   = sub->seg->base.data + sub->start_offs;
-        caller_ctx           = CURRENT_CONTEXT(interp);
+        caller_ctx           = CONTEXT(interp);
         ccont                = INTERP->current_cont;
         INTERP->current_cont = NULL;
 

Modified: branches/context_pmc3/src/scheduler.c
==============================================================================
--- branches/context_pmc3/src/scheduler.c	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/scheduler.c	Mon Aug 24 12:09:42 2009	(r40762)
@@ -884,7 +884,7 @@
         context = (PMC *)VTABLE_get_pointer(interp, task);
     }
     else {
-        context = CURRENT_CONTEXT(interp);
+        context = CONTEXT(interp);
         if (!PMC_IS_NULL(CONTEXT_FIELD(interp, context, handlers)))
             iter = VTABLE_get_iter(interp, CONTEXT_FIELD(interp, context, handlers));
     }

Modified: branches/context_pmc3/src/sub.c
==============================================================================
--- branches/context_pmc3/src/sub.c	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/sub.c	Mon Aug 24 12:09:42 2009	(r40762)
@@ -66,10 +66,10 @@
 {
     ASSERT_ARGS(new_continuation)
     Parrot_cont    * const cc     = mem_allocate_typed(Parrot_cont);
-    PMC            * const to_ctx = to ? to->to_ctx : CURRENT_CONTEXT(interp);
+    PMC            * const to_ctx = to ? to->to_ctx : CONTEXT(interp);
 
     cc->to_ctx        = to_ctx;
-    cc->from_ctx      = CURRENT_CONTEXT(interp);
+    cc->from_ctx      = CONTEXT(interp);
     cc->runloop_id    = 0;
     if (to) {
         cc->seg       = to->seg;
@@ -102,8 +102,8 @@
     ASSERT_ARGS(new_ret_continuation)
     Parrot_cont * const cc = mem_allocate_typed(Parrot_cont);
 
-    cc->to_ctx          = CURRENT_CONTEXT(interp);
-    cc->from_ctx        = CURRENT_CONTEXT(interp);    /* filled in during a call */
+    cc->to_ctx          = CONTEXT(interp);
+    cc->from_ctx        = CONTEXT(interp);    /* filled in during a call */
     cc->runloop_id      = 0;
     cc->seg             = interp->code;
     cc->current_results = NULL;
@@ -346,7 +346,7 @@
     ASSERT_ARGS(Parrot_Context_infostr)
     Parrot_Context_info info;
     STRING             *res = NULL;
-    const char * const  msg = (CURRENT_CONTEXT(interp) == ctx)
+    const char * const  msg = (CONTEXT(interp) == ctx)
         ? "current instr.:"
         : "called from Sub";
 
@@ -408,7 +408,7 @@
 Parrot_capture_lex(PARROT_INTERP, ARGMOD(PMC *sub_pmc))
 {
     ASSERT_ARGS(Parrot_capture_lex)
-    PMC            * const ctx          = CURRENT_CONTEXT(interp);
+    PMC            * const ctx          = CONTEXT(interp);
     Parrot_Sub_attributes *current_sub;
     Parrot_Sub_attributes *sub;
 
@@ -504,7 +504,7 @@
 {
     ASSERT_ARGS(Parrot_continuation_check)
     PMC *to_ctx       = cc->to_ctx;
-    PMC *from_ctx     = CURRENT_CONTEXT(interp);
+    PMC *from_ctx     = CONTEXT(interp);
 
     if (PMC_IS_NULL(to_ctx))
         Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
@@ -540,7 +540,7 @@
     }
 
     /* set context */
-    CURRENT_CONTEXT(interp) = to_ctx;
+    CONTEXT(interp) = to_ctx;
 }
 
 

Modified: branches/context_pmc3/src/warnings.c
==============================================================================
--- branches/context_pmc3/src/warnings.c	Mon Aug 24 11:50:46 2009	(r40761)
+++ branches/context_pmc3/src/warnings.c	Mon Aug 24 12:09:42 2009	(r40762)
@@ -53,8 +53,7 @@
         interp->pdb->debugger :
         interp;
     Parrot_io_eprintf(tracer, "%Ss\n",
-            Parrot_Context_infostr(interp,
-                CURRENT_CONTEXT(interp)));
+            Parrot_Context_infostr(interp, CONTEXT(interp)));
 }
 
 /*


More information about the parrot-commits mailing list