From 8b20919625490ff12bcebbbab6ad7c7ecfddbdbd Mon Sep 17 00:00:00 2001 From: Andreas Gal Date: Sat, 29 Aug 2009 13:05:16 -0700 Subject: [PATCH] Restore 'CALLEE' tracable native type, quickstubs need it (compilation fix for bug 512617). --- js/src/jsbuiltins.h | 1 + js/src/jstracer.cpp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/js/src/jsbuiltins.h b/js/src/jsbuiltins.h index c9005a1384c..274c2fa4144 100644 --- a/js/src/jsbuiltins.h +++ b/js/src/jsbuiltins.h @@ -181,6 +181,7 @@ class ClosureVarInfo; #define _JS_CTYPE_THIS _JS_CTYPE(JSObject *, _JS_PTR,"T", "", INFALLIBLE) #define _JS_CTYPE_THIS_DOUBLE _JS_CTYPE(jsdouble, _JS_F64,"D", "", INFALLIBLE) #define _JS_CTYPE_THIS_STRING _JS_CTYPE(JSString *, _JS_PTR,"S", "", INFALLIBLE) +#define _JS_CTYPE_CALLEE _JS_CTYPE(JSObject *, _JS_PTR,"f","", INFALLIBLE) #define _JS_CTYPE_FUNCTION _JS_CTYPE(JSFunction *, _JS_PTR, --, --, INFALLIBLE) #define _JS_CTYPE_PC _JS_CTYPE(jsbytecode *, _JS_PTR,"P", "", INFALLIBLE) #define _JS_CTYPE_JSVALPTR _JS_CTYPE(jsval *, _JS_PTR, --, --, INFALLIBLE) diff --git a/js/src/jstracer.cpp b/js/src/jstracer.cpp index 3a7c95663d2..b31392f6d35 100644 --- a/js/src/jstracer.cpp +++ b/js/src/jstracer.cpp @@ -9502,6 +9502,9 @@ TraceRecorder::callTraceableNative(JSFunction* fun, uintN argc, bool constructin } else if (argtype == 's') { if (!JSVAL_IS_STRING(arg)) goto next_specialization; + } else if (argtype == 'f') { + if (!VALUE_IS_FUNCTION(cx, arg)) + goto next_specialization; } else if (argtype == 'v') { *argp = box_jsval(arg, *argp); } else {