Changeset 35853 in webkit for trunk/JavaScriptCore/API/JSContextRef.cpp
- Timestamp:
- Aug 20, 2008, 12:23:06 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/API/JSContextRef.cpp
r35815 r35853 56 56 JSGlobalContextRef JSGlobalContextCreate(JSClassRef globalObjectClass) 57 57 { 58 return JSGlobalContextCreateInGroup(toRef(JSGlobalData::create().get()), globalObjectClass); 58 JSLock lock(true); 59 return JSGlobalContextCreateInGroup(toRef(&JSGlobalData::sharedInstance()), globalObjectClass); 59 60 } 60 61 … … 63 64 initializeThreading(); 64 65 65 JSGlobalData* globalData = toJS(group); 66 JSLock lock(true); 67 68 RefPtr<JSGlobalData> globalData = group ? PassRefPtr<JSGlobalData>(toJS(group)) : JSGlobalData::create(); 66 69 67 70 if (!globalObjectClass) { 68 JSGlobalObject* globalObject = new (globalData ) JSGlobalObject;71 JSGlobalObject* globalObject = new (globalData.get()) JSGlobalObject; 69 72 return JSGlobalContextRetain(toGlobalRef(globalObject->globalExec())); 70 73 } 71 74 72 JSGlobalObject* globalObject = new (globalData ) JSCallbackObject<JSGlobalObject>(globalObjectClass);75 JSGlobalObject* globalObject = new (globalData.get()) JSCallbackObject<JSGlobalObject>(globalObjectClass); 73 76 ExecState* exec = globalObject->globalExec(); 74 77 JSValue* prototype = globalObjectClass->prototype(exec); … … 82 85 { 83 86 ExecState* exec = toJS(ctx); 87 JSLock lock(exec); 88 84 89 JSGlobalData& globalData = exec->globalData(); 85 90 … … 94 99 { 95 100 ExecState* exec = toJS(ctx); 101 JSLock lock(exec); 96 102 97 103 gcUnprotect(exec->dynamicGlobalObject()); … … 116 122 ExecState* exec = toJS(ctx); 117 123 exec->globalData().heap->registerThread(); 124 JSLock lock(exec); 118 125 119 126 // It is necessary to call toThisObject to get the wrapper object when used with WebCore.
Note:
See TracChangeset
for help on using the changeset viewer.