Fix static analysis. It is ok for ComputeThis_tn to see a stale cx->fp since we just want to ensure the global object is wrapped.
authorAndreas Gal <gal@mozilla.com>
Tue, 14 Apr 2009 20:15:43 -0700
changeset 24922 24c37540ed7cc6060fb0d133904cb4409a823cb9
parent 24921 ab091d238f882d200077f4889496d2604d4caacf
child 24923 4c3bb14f2bbcc32b9527116cf3b921e0fc1db9a8
push id1267
push userrsayre@mozilla.com
push dateSun, 19 Apr 2009 02:47:24 +0000
milestone1.9.1b4pre
Fix static analysis. It is ok for ComputeThis_tn to see a stale cx->fp since we just want to ensure the global object is wrapped.
js/src/jstracer.cpp
--- a/js/src/jstracer.cpp
+++ b/js/src/jstracer.cpp
@@ -6230,16 +6230,18 @@ TraceRecorder::unbox_jsval(jsval v, LIns
         v_ins = lir->ins2(LIR_piand, v_ins, INS_CONST(~JSVAL_TAGMASK));
         return;
     }
 }
 
 static JSObject*
 ComputeThis_tn(JSContext* cx)
 {
+    VOUCH_DOES_NOT_REQUIRE_STACK();
+
     return js_ComputeThisForFrame(cx, cx->fp);
 }
 
 JS_DEFINE_CALLINFO_1(static, OBJECT, ComputeThis_tn, CONTEXT, 1, 1) /* safe to CSE */
 
 JS_REQUIRES_STACK bool
 TraceRecorder::getThis(LIns*& this_ins)
 {