Bug 459266 - TM: Allow CALLINFO macros to specify linkage. r=brendan.

This commit is contained in:
Jason Orendorff
2008-10-16 14:24:10 -05:00
parent 3f46eaf8d3
commit 3584746574
11 changed files with 286 additions and 271 deletions

View File

@@ -1538,8 +1538,8 @@ InitArrayObject(JSContext *cx, JSObject *obj, jsuint length, jsval *vector,
}
#ifdef JS_TRACER
JSString* FASTCALL
js_Array_p_join(JSContext* cx, JSObject* obj, JSString *str)
static JSString* FASTCALL
Array_p_join(JSContext* cx, JSObject* obj, JSString *str)
{
jsval v;
if (!array_join_sub(cx, obj, TO_STRING, str, &v))
@@ -2126,8 +2126,8 @@ array_push1_dense(JSContext* cx, JSObject* obj, jsval v, jsval *rval)
}
#ifdef JS_TRACER
jsval FASTCALL
js_Array_p_push1(JSContext* cx, JSObject* obj, jsval v)
static jsval FASTCALL
Array_p_push1(JSContext* cx, JSObject* obj, jsval v)
{
if (OBJ_IS_DENSE_ARRAY(cx, obj)
? array_push1_dense(cx, obj, v, &v)
@@ -2197,8 +2197,8 @@ array_pop_dense(JSContext *cx, JSObject* obj, jsval *vp)
}
#ifdef JS_TRACER
jsval FASTCALL
js_Array_p_pop(JSContext* cx, JSObject* obj)
static jsval FASTCALL
Array_p_pop(JSContext* cx, JSObject* obj)
{
jsval v;
if (OBJ_IS_DENSE_ARRAY(cx, obj)
@@ -2969,18 +2969,18 @@ static JSPropertySpec array_props[] = {
#ifdef JS_TRACER
JS_DEFINE_CALLINFO_3(STRING, Array_p_join, CONTEXT, OBJECT, STRING, 0, 0)
JS_DEFINE_CALLINFO_3(JSVAL, Array_p_push1, CONTEXT, OBJECT, JSVAL, 0, 0)
JS_DEFINE_CALLINFO_2(JSVAL, Array_p_pop, CONTEXT, OBJECT, 0, 0)
JS_DEFINE_CALLINFO_3(static, STRING, Array_p_join, CONTEXT, OBJECT, STRING, 0, 0)
JS_DEFINE_CALLINFO_3(static, JSVAL, Array_p_push1, CONTEXT, OBJECT, JSVAL, 0, 0)
JS_DEFINE_CALLINFO_2(static, JSVAL, Array_p_pop, CONTEXT, OBJECT, 0, 0)
static JSTraceableNative array_join_trcinfo[] = {
{ array_join, &ci_Array_p_join, "TC", "s", FAIL_NULL }
{ array_join, &_JS_CALLINFO(Array_p_join), "TC", "s", FAIL_NULL }
};
static JSTraceableNative array_push_trcinfo[] = {
{ array_push, &ci_Array_p_push1, "TC", "v", FAIL_JSVAL }
{ array_push, &_JS_CALLINFO(Array_p_push1), "TC", "v", FAIL_JSVAL }
};
static JSTraceableNative array_pop_trcinfo[] = {
{ array_pop, &ci_Array_p_pop, "TC", "", FAIL_JSVAL }
{ array_pop, &_JS_CALLINFO(Array_p_pop), "TC", "", FAIL_JSVAL }
};
#endif /* JS_TRACER */
@@ -3417,9 +3417,9 @@ js_ArrayToJSDoubleBuffer(JSContext *cx, JSObject *obj, jsuint offset, jsuint cou
return JS_TRUE;
}
JS_DEFINE_CALLINFO_4(BOOL, Array_dense_setelem, CONTEXT, OBJECT, INT32, JSVAL, 0, 0)
JS_DEFINE_CALLINFO_2(OBJECT, FastNewArray, CONTEXT, OBJECT, 0, 0)
JS_DEFINE_CALLINFO_3(OBJECT, Array_1int, CONTEXT, OBJECT, INT32, 0, 0)
JS_DEFINE_CALLINFO_3(OBJECT, Array_1str, CONTEXT, OBJECT, STRING, 0, 0)
JS_DEFINE_CALLINFO_4(OBJECT, Array_2obj, CONTEXT, OBJECT, OBJECT, OBJECT, 0, 0)
JS_DEFINE_CALLINFO_5(OBJECT, Array_3num, CONTEXT, OBJECT, DOUBLE, DOUBLE, DOUBLE, 0, 0)
JS_DEFINE_CALLINFO_4(extern, BOOL, js_Array_dense_setelem, CONTEXT, OBJECT, INT32, JSVAL, 0, 0)
JS_DEFINE_CALLINFO_2(extern, OBJECT, js_FastNewArray, CONTEXT, OBJECT, 0, 0)
JS_DEFINE_CALLINFO_3(extern, OBJECT, js_Array_1int, CONTEXT, OBJECT, INT32, 0, 0)
JS_DEFINE_CALLINFO_3(extern, OBJECT, js_Array_1str, CONTEXT, OBJECT, STRING, 0, 0)
JS_DEFINE_CALLINFO_4(extern, OBJECT, js_Array_2obj, CONTEXT, OBJECT, OBJECT, OBJECT, 0, 0)
JS_DEFINE_CALLINFO_5(extern, OBJECT, js_Array_3num, CONTEXT, OBJECT, DOUBLE, DOUBLE, DOUBLE, 0, 0)