Mark getting and setting arguments and local variables as safe for tracing.
authorAndreas Gal <gal@uci.edu>
Mon, 26 May 2008 23:40:52 -0700
changeset 17178 cca08ddd5e978ee3e055b576b522f884a57720e2
parent 17177 77e835f850beea7167ae6a665607c0991e531fd0
child 17179 1c495025f185a9e1e3beb14f064b88af12e20e68
push idunknown
push userunknown
push dateunknown
milestone1.9.1a1pre
Mark getting and setting arguments and local variables as safe for tracing.
js/src/jsinterp.cpp
--- a/js/src/jsinterp.cpp
+++ b/js/src/jsinterp.cpp
@@ -5809,46 +5809,46 @@ js_Interpret(JSContext *cx)
 
           BEGIN_CASE(JSOP_ARGCNT)
             id = ATOM_TO_JSID(rt->atomState.lengthAtom);
             if (!js_GetArgsProperty(cx, fp, id, &rval))
                 goto error;
             PUSH_STACK(rval);
           END_CASE(JSOP_ARGCNT)
 
-          BEGIN_CASE(JSOP_GETARG)
-          BEGIN_CASE(JSOP_CALLARG)
+          TRACE_CASE(JSOP_GETARG)
+          TRACE_CASE(JSOP_CALLARG)
             slot = GET_ARGNO(regs.pc);
             JS_ASSERT(slot < fp->fun->nargs);
             METER_SLOT_OP(op, slot);
             PUSH_STACK(fp->argv[slot]);
             if (op == JSOP_CALLARG)
                 PUSH_STACK_CONSTANT(JSVAL_NULL);
           END_CASE(JSOP_GETARG)
 
-          BEGIN_CASE(JSOP_SETARG)
+          TRACE_CASE(JSOP_SETARG)
             slot = GET_ARGNO(regs.pc);
             JS_ASSERT(slot < fp->fun->nargs);
             METER_SLOT_OP(op, slot);
             vp = &fp->argv[slot];
             GC_POKE(cx, *vp);
             FETCH_STACK(-1, *vp);
           END_CASE(JSOP_SETARG)
 
-          BEGIN_CASE(JSOP_GETVAR)
-          BEGIN_CASE(JSOP_CALLVAR)
+          TRACE_CASE(JSOP_GETVAR)
+          TRACE_CASE(JSOP_CALLVAR)
             slot = GET_VARNO(regs.pc);
             JS_ASSERT(slot < fp->fun->u.i.nvars);
             METER_SLOT_OP(op, slot);
             PUSH_STACK(fp->vars[slot]);
             if (op == JSOP_CALLVAR)
                 PUSH_STACK_CONSTANT(JSVAL_NULL);
           END_CASE(JSOP_GETVAR)
 
-          BEGIN_CASE(JSOP_SETVAR)
+          TRACE_CASE(JSOP_SETVAR)
             slot = GET_VARNO(regs.pc);
             JS_ASSERT(slot < fp->fun->u.i.nvars);
             METER_SLOT_OP(op, slot);
             vp = &fp->vars[slot];
             GC_POKE(cx, *vp);
             FETCH_STACK(-1, *vp);
           END_CASE(JSOP_SETVAR)