Bug 538440 - We never jit DOM workers. r=mrbkap.

This commit is contained in:
Jason Orendorff 2010-01-20 14:54:34 -06:00
Родитель a4e8082e48
Коммит aa87db6fa2
4 изменённых файлов: 19 добавлений и 5 удалений

Просмотреть файл

@ -997,8 +997,7 @@ nsDOMThreadService::CreateJSContext()
};
JS_SetContextSecurityCallbacks(cx, &securityCallbacks);
static JSDebugHooks debugHooks;
JS_SetContextDebugHooks(cx, &debugHooks);
JS_ClearContextDebugHooks(cx);
nsresult rv = nsContentUtils::XPConnect()->
SetSecurityManagerForJSContext(cx, gWorkerSecurityManager, 0);

Просмотреть файл

@ -1072,6 +1072,8 @@ typedef struct JSResolvingEntry {
#define JSRESOLVE_INFER 0xffff /* infer bits from current bytecode */
extern const JSDebugHooks js_NullDebugHooks; /* defined in jsdbgapi.cpp */
struct JSContext {
/*
* If this flag is set, we were asked to call back the operation callback
@ -1248,8 +1250,9 @@ struct JSContext {
void updateJITEnabled() {
#ifdef JS_TRACER
jitEnabled = ((options & JSOPTION_JIT) &&
!runtime->debuggerInhibitsJIT() &&
debugHooks == &runtime->globalDebugHooks);
(debugHooks == &js_NullDebugHooks ||
(debugHooks == &runtime->globalDebugHooks &&
!runtime->debuggerInhibitsJIT())));
#endif
}

Просмотреть файл

@ -1828,11 +1828,13 @@ JS_GetGlobalDebugHooks(JSRuntime *rt)
return &rt->globalDebugHooks;
}
const JSDebugHooks js_NullDebugHooks = {};
JS_PUBLIC_API(JSDebugHooks *)
JS_SetContextDebugHooks(JSContext *cx, const JSDebugHooks *hooks)
{
JS_ASSERT(hooks);
if (hooks != &cx->runtime->globalDebugHooks)
if (hooks != &cx->runtime->globalDebugHooks && hooks != &js_NullDebugHooks)
js_LeaveTrace(cx);
#ifdef JS_TRACER
@ -1847,6 +1849,12 @@ JS_SetContextDebugHooks(JSContext *cx, const JSDebugHooks *hooks)
return old;
}
JS_PUBLIC_API(JSDebugHooks *)
JS_ClearContextDebugHooks(JSContext *cx)
{
return JS_SetContextDebugHooks(cx, &js_NullDebugHooks);
}
#ifdef MOZ_SHARK
#include <CHUD/CHUD.h>

Просмотреть файл

@ -427,6 +427,10 @@ JS_GetGlobalDebugHooks(JSRuntime *rt);
extern JS_PUBLIC_API(JSDebugHooks *)
JS_SetContextDebugHooks(JSContext *cx, const JSDebugHooks *hooks);
/* Disable debug hooks for this context. */
extern JS_PUBLIC_API(JSDebugHooks *)
JS_ClearContextDebugHooks(JSContext *cx);
#ifdef MOZ_SHARK
extern JS_PUBLIC_API(JSBool)