Changeset 37759 in webkit for trunk/JavaScriptCore
- Timestamp:
- Oct 20, 2008, 11:08:06 PM (17 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/API/JSCallbackObject.h
r37684 r37759 38 38 public: 39 39 JSCallbackObject(ExecState*, PassRefPtr<StructureID>, JSClassRef, void* data); 40 JSCallbackObject(JS GlobalData*, JSClassRef);40 JSCallbackObject(JSClassRef); 41 41 virtual ~JSCallbackObject(); 42 42 -
trunk/JavaScriptCore/API/JSCallbackObjectFunctions.h
r37684 r37759 58 58 // FIXME: Move this into a separate JSGlobalCallbackObject class derived from this one. 59 59 template <class Base> 60 JSCallbackObject<Base>::JSCallbackObject(JS GlobalData* globalData, JSClassRef jsClass)61 : Base( globalData)60 JSCallbackObject<Base>::JSCallbackObject(JSClassRef jsClass) 61 : Base() 62 62 , m_callbackObjectData(new JSCallbackObjectData(0, jsClass)) 63 63 { -
trunk/JavaScriptCore/API/JSContextRef.cpp
r37684 r37759 68 68 69 69 if (!globalObjectClass) { 70 JSGlobalObject* globalObject = new (globalData.get()) JSGlobalObject (globalData.get());70 JSGlobalObject* globalObject = new (globalData.get()) JSGlobalObject; 71 71 return JSGlobalContextRetain(toGlobalRef(globalObject->globalExec())); 72 72 } 73 73 74 JSGlobalObject* globalObject = new (globalData.get()) JSCallbackObject<JSGlobalObject>(global Data.get(), globalObjectClass);74 JSGlobalObject* globalObject = new (globalData.get()) JSCallbackObject<JSGlobalObject>(globalObjectClass); 75 75 ExecState* exec = globalObject->globalExec(); 76 76 JSValuePtr prototype = globalObjectClass->prototype(exec); -
trunk/JavaScriptCore/ChangeLog
r37755 r37759 1 2008-10-20 Sam Weinig <[email protected]> 2 3 Reviewed by Cameron Zwarich. 4 5 Fix for https://bugs.webkit.org/show_bug.cgi?id=21766 6 REGRESSION: 12 JSC tests fail 7 8 The JSGlobalObject was mutating the shared nullProtoStructureID when 9 used in jsc. Instead of using nullProtoStructureID, use a new StructureID. 10 11 * API/JSCallbackObject.h: 12 * API/JSCallbackObjectFunctions.h: 13 (JSC::::JSCallbackObject): 14 * API/JSContextRef.cpp: 15 (JSGlobalContextCreateInGroup): 16 * kjs/JSGlobalObject.h: 17 (JSC::JSGlobalObject::JSGlobalObject): 18 * kjs/Shell.cpp: 19 (GlobalObject::GlobalObject): 20 (jscmain): 21 1 22 2008-10-20 Cameron Zwarich <[email protected]> 2 23 -
trunk/JavaScriptCore/kjs/JSGlobalObject.h
r37730 r37759 142 142 void* operator new(size_t, JSGlobalData*); 143 143 144 explicit JSGlobalObject( JSGlobalData* globalData)145 : JSVariableObject( globalData->nullProtoStructureID, new JSGlobalObjectData)144 explicit JSGlobalObject() 145 : JSVariableObject(JSGlobalObject::createStructureID(jsNull()), new JSGlobalObjectData) 146 146 { 147 147 init(this); -
trunk/JavaScriptCore/kjs/Shell.cpp
r37684 r37759 152 152 class GlobalObject : public JSGlobalObject { 153 153 public: 154 GlobalObject( JSGlobalData*,const Vector<UString>& arguments);154 GlobalObject(const Vector<UString>& arguments); 155 155 virtual UString className() const { return "global"; } 156 156 }; … … 158 158 ASSERT_CLASS_FITS_IN_CELL(GlobalObject); 159 159 160 GlobalObject::GlobalObject( JSGlobalData* globalData,const Vector<UString>& arguments)161 : JSGlobalObject( globalData)160 GlobalObject::GlobalObject(const Vector<UString>& arguments) 161 : JSGlobalObject() 162 162 { 163 163 putDirectFunction(globalExec(), new (globalExec()) PrototypeFunction(globalExec(), prototypeFunctionStructure(), 1, Identifier(globalExec(), "debug"), functionDebug)); … … 464 464 parseArguments(argc, argv, options); 465 465 466 GlobalObject* globalObject = new (globalData) GlobalObject( globalData,options.arguments);466 GlobalObject* globalObject = new (globalData) GlobalObject(options.arguments); 467 467 bool success = runWithScripts(globalObject, options.fileNames, options.prettyPrint, options.dump); 468 468 if (options.interactive && success)
Note:
See TracChangeset
for help on using the changeset viewer.