Changeset 60057 in webkit for trunk/JavaScriptCore
- Timestamp:
- May 23, 2010, 7:15:02 PM (15 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r59983 r60057 1 2010-05-23 Sam Weinig <[email protected]> 2 3 Reviewed by Oliver Hunt. 4 5 Fix for https://bugs.webkit.org/show_bug.cgi?id=39575 6 Make JS DOMObject inherit from JSObjectWithGlobalObject instead of JSObject 7 8 Expose the global object stored in JSObjectWithGlobalObject. 9 10 * JavaScriptCore.exp: 11 * JavaScriptCore.xcodeproj/project.pbxproj: 12 * runtime/JSObjectWithGlobalObject.cpp: 13 (JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject): 14 (JSC::JSObjectWithGlobalObject::globalObject): 15 * runtime/JSObjectWithGlobalObject.h: 16 1 17 2010-05-21 Oliver Hunt <[email protected]> 2 18 -
trunk/JavaScriptCore/JavaScriptCore.exp
r59941 r60057 1 __ZN7WebCore10StringImpl6createEPKcj2 __ZN7WebCore12AtomicString11addSlowCaseEPNS_10StringImplE3 1 _JSCheckScriptSyntax 4 2 _JSClassCreate … … 102 100 __Z15jsRegExpExecutePK8JSRegExpPKtiiPii 103 101 __ZN14OpaqueJSString6createERKN3JSC7UStringE 104 __ZN3JSC10JSFunctionC1EPNS_9ExecStateEPNS_14JSGlobalObjectEN3WTF17NonNullPassRefPtrINS_9StructureEEEiRKNS_10IdentifierEPFNS_7JSValueES2_PNS_8JSObjectESC_RKNS_7ArgListEE105 102 __ZN3JSC10Identifier11addSlowCaseEPNS_12JSGlobalDataEPN7WebCore10StringImplE 106 103 __ZN3JSC10Identifier11addSlowCaseEPNS_9ExecStateEPN7WebCore10StringImplE … … 113 110 __ZN3JSC10JSFunction4infoE 114 111 __ZN3JSC10JSFunction4nameEPNS_9ExecStateE 112 __ZN3JSC10JSFunctionC1EPNS_9ExecStateEPNS_14JSGlobalObjectEN3WTF17NonNullPassRefPtrINS_9StructureEEEiRKNS_10IdentifierEPFNS_7JSValueES2_PNS_8JSObjectESC_RKNS_7ArgListEE 115 113 __ZN3JSC10throwErrorEPNS_9ExecStateENS_9ErrorTypeE 116 114 __ZN3JSC10throwErrorEPNS_9ExecStateENS_9ErrorTypeEPKc … … 194 192 __ZN3JSC23objectProtoFuncToStringEPNS_9ExecStateEPNS_8JSObjectENS_7JSValueERKNS_7ArgListE 195 193 __ZN3JSC23setUpStaticFunctionSlotEPNS_9ExecStateEPKNS_9HashEntryEPNS_8JSObjectERKNS_10IdentifierERNS_12PropertySlotE 194 __ZN3JSC24JSObjectWithGlobalObjectC2EPNS_14JSGlobalObjectEN3WTF17NonNullPassRefPtrINS_9StructureEEE 196 195 __ZN3JSC24createStackOverflowErrorEPNS_9ExecStateE 197 __ZN3JSC24JSObjectWithGlobalObjectC2EPNS_14JSGlobalObjectEN3WTF17NonNullPassRefPtrINS_9StructureEEE198 196 __ZN3JSC25evaluateInGlobalCallFrameERKNS_7UStringERNS_7JSValueEPNS_14JSGlobalObjectE 199 197 __ZN3JSC35createInterruptedExecutionExceptionEPNS_12JSGlobalDataE … … 397 395 __ZN7WebCore10StringImpl5upperEv 398 396 __ZN7WebCore10StringImpl6createEPKc 397 __ZN7WebCore10StringImpl6createEPKcj 399 398 __ZN7WebCore10StringImpl6createEPKtj 400 399 __ZN7WebCore10StringImpl6createEPKtjN3WTF10PassRefPtrINS3_21CrossThreadRefCountedINS3_16OwnFastMallocPtrIS1_EEEEEE … … 408 407 __ZN7WebCore10StringImplD1Ev 409 408 __ZN7WebCore11commentAtomE 409 __ZN7WebCore12AtomicString11addSlowCaseEPNS_10StringImplE 410 410 __ZN7WebCore12AtomicString3addEPKc 411 411 __ZN7WebCore12AtomicString3addEPKt … … 475 475 __ZNK3JSC18PropertyDescriptor6setterEv 476 476 __ZNK3JSC18PropertyDescriptor8writableEv 477 __ZNK3JSC 4Heap4sizeEv477 __ZNK3JSC24JSObjectWithGlobalObject12globalObjectEv 478 478 __ZNK3JSC4Heap10statisticsEv 479 479 __ZNK3JSC4Heap11objectCountEv 480 __ZNK3JSC4Heap4sizeEv 480 481 __ZNK3JSC6JSCell11toPrimitiveEPNS_9ExecStateENS_22PreferredPrimitiveTypeE 481 482 __ZNK3JSC6JSCell12toThisObjectEPNS_9ExecStateE -
trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
r59969 r60057 320 320 A7B48F490EE8936F00DCBDB6 /* ExecutableAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7B48DB60EE74CFC00DCBDB6 /* ExecutableAllocator.cpp */; }; 321 321 A7C1E8E4112E72EF00A37F98 /* JITPropertyAccess32_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7C1E8C8112E701C00A37F98 /* JITPropertyAccess32_64.cpp */; }; 322 A7C2217810C7479400F97913 /* JSZombie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7C2216B10C7469C00F97913 /* JSZombie.cpp */; };323 322 A7C530E4102A3813005BC741 /* MarkStackPosix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7C530E3102A3813005BC741 /* MarkStackPosix.cpp */; }; 324 323 A7D649AA1015224E009B2E1B /* PossiblyNull.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D649A91015224E009B2E1B /* PossiblyNull.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 329 328 A7FB60A4103F7DC20017A286 /* PropertyDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7FB60A3103F7DC20017A286 /* PropertyDescriptor.cpp */; }; 330 329 A7FB61001040C38B0017A286 /* PropertyDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A7FB604B103F5EAB0017A286 /* PropertyDescriptor.h */; settings = {ATTRIBUTES = (Private, ); }; }; 330 BC01D4F111A8F1FF00A54B2A /* JSZombie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC01D4EF11A8F1FF00A54B2A /* JSZombie.cpp */; }; 331 BC01D4F211A8F1FF00A54B2A /* JSZombie.h in Headers */ = {isa = PBXBuildFile; fileRef = BC01D4F011A8F1FF00A54B2A /* JSZombie.h */; }; 331 332 BC02E90D0E1839DB000F9297 /* ErrorConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E9050E1839DB000F9297 /* ErrorConstructor.h */; }; 332 333 BC02E90F0E1839DB000F9297 /* ErrorPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E9070E1839DB000F9297 /* ErrorPrototype.h */; }; … … 915 916 A7B48DB60EE74CFC00DCBDB6 /* ExecutableAllocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExecutableAllocator.cpp; sourceTree = "<group>"; }; 916 917 A7C1E8C8112E701C00A37F98 /* JITPropertyAccess32_64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JITPropertyAccess32_64.cpp; sourceTree = "<group>"; }; 917 A7C2216810C745E000F97913 /* JSZombie.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSZombie.h; sourceTree = "<group>"; };918 A7C2216B10C7469C00F97913 /* JSZombie.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSZombie.cpp; sourceTree = "<group>"; };919 918 A7C530E3102A3813005BC741 /* MarkStackPosix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MarkStackPosix.cpp; sourceTree = "<group>"; }; 920 919 A7D649A91015224E009B2E1B /* PossiblyNull.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PossiblyNull.h; sourceTree = "<group>"; }; … … 931 930 A8E894310CD0602400367179 /* JSCallbackObjectFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCallbackObjectFunctions.h; sourceTree = "<group>"; }; 932 931 A8E894330CD0603F00367179 /* JSGlobalObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGlobalObject.h; sourceTree = "<group>"; }; 932 BC01D4EF11A8F1FF00A54B2A /* JSZombie.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSZombie.cpp; sourceTree = "<group>"; }; 933 BC01D4F011A8F1FF00A54B2A /* JSZombie.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSZombie.h; sourceTree = "<group>"; }; 933 934 BC02E9040E1839DB000F9297 /* ErrorConstructor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ErrorConstructor.cpp; sourceTree = "<group>"; }; 934 935 BC02E9050E1839DB000F9297 /* ErrorConstructor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ErrorConstructor.h; sourceTree = "<group>"; }; … … 1621 1622 BC22A3980E16E14800AF21C8 /* JSObject.cpp */, 1622 1623 BC22A3990E16E14800AF21C8 /* JSObject.h */, 1624 A783A2AA11A5BE8400563D20 /* JSObjectWithGlobalObject.cpp */, 1625 A783A0D011A36DCA00563D20 /* JSObjectWithGlobalObject.h */, 1623 1626 A7F9935E0FD7325100A0B2D0 /* JSONObject.cpp */, 1624 1627 A7F9935D0FD7325100A0B2D0 /* JSONObject.h */, … … 1638 1641 65C7A1710A8EAACB00FA37EA /* JSWrapperObject.cpp */, 1639 1642 65C7A1720A8EAACB00FA37EA /* JSWrapperObject.h */, 1640 A7C2216B10C7469C00F97913 /* JSZombie.cpp */, 1641 A7C2216B10C7469C00F97913 /* JSZombie.cpp */, 1642 A7C2216810C745E000F97913 /* JSZombie.h */, 1643 A7C2216810C745E000F97913 /* JSZombie.h */, 1643 BC01D4EF11A8F1FF00A54B2A /* JSZombie.cpp */, 1644 BC01D4F011A8F1FF00A54B2A /* JSZombie.h */, 1644 1645 A7E2EA6A0FB460CF00601F06 /* LiteralParser.cpp */, 1645 1646 A7E2EA690FB460CF00601F06 /* LiteralParser.h */, … … 1721 1722 14035DB010DBFB2A00FFFFE7 /* WeakGCPtr.h */, 1722 1723 1420BE7A10AA6DDB00F455D2 /* WeakRandom.h */, 1723 A783A0D011A36DCA00563D20 /* JSObjectWithGlobalObject.h */,1724 A783A2AA11A5BE8400563D20 /* JSObjectWithGlobalObject.cpp */,1725 1724 ); 1726 1725 path = runtime; … … 2161 2160 86C568E211A213EE0007F7F0 /* MIPSAssembler.h in Headers */, 2162 2161 A783A0D111A36DCA00563D20 /* JSObjectWithGlobalObject.h in Headers */, 2162 BC01D4F211A8F1FF00A54B2A /* JSZombie.h in Headers */, 2163 2163 ); 2164 2164 runOnlyForDeploymentPostprocessing = 0; … … 2536 2536 147F39D7107EC37600427A48 /* JSVariableObject.cpp in Sources */, 2537 2537 14280870107EC1340013E7B2 /* JSWrapperObject.cpp in Sources */, 2538 A7C2217810C7479400F97913 /* JSZombie.cpp in Sources */,2539 2538 BCFD8C920EEB2EE700283848 /* JumpTable.cpp in Sources */, 2540 2539 148F21B0107EC5410042EC2C /* Lexer.cpp in Sources */, … … 2617 2616 146FE51211A710430087AE66 /* JITCall32_64.cpp in Sources */, 2618 2617 A783A2AB11A5BE8400563D20 /* JSObjectWithGlobalObject.cpp in Sources */, 2618 BC01D4F111A8F1FF00A54B2A /* JSZombie.cpp in Sources */, 2619 2619 ); 2620 2620 runOnlyForDeploymentPostprocessing = 0; -
trunk/JavaScriptCore/runtime/JSObjectWithGlobalObject.cpp
r59941 r60057 34 34 : JSObject(structure) 35 35 { 36 COMPILE_ASSERT(AnonymousSlotCount == 1, AnonymousSlotCount_must_be_one); 36 37 ASSERT(!globalObject || globalObject->isGlobalObject()); 37 putAnonymousValue( 0, globalObject);38 putAnonymousValue(GlobalObjectSlot, globalObject); 38 39 } 39 40 41 JSGlobalObject* JSObjectWithGlobalObject::globalObject() const 42 { 43 return asGlobalObject((getAnonymousValue(GlobalObjectSlot).asCell())); 40 44 } 45 46 } // namespace JSC -
trunk/JavaScriptCore/runtime/JSObjectWithGlobalObject.h
r59941 r60057 40 40 } 41 41 42 JSGlobalObject* globalObject() const; 43 42 44 protected: 43 45 JSObjectWithGlobalObject(JSGlobalObject*, NonNullPassRefPtr<Structure>); … … 49 51 } 50 52 static const unsigned AnonymousSlotCount = JSObject::AnonymousSlotCount + 1; 53 static const unsigned GlobalObjectSlot = 0; 51 54 }; 52 55 53 } 56 } // namespace JSC 54 57 55 58 #endif // JSObjectWithGlobalObject_h
Note:
See TracChangeset
for help on using the changeset viewer.