Changeset 89069 in webkit
- Timestamp:
- Jun 16, 2011 3:01:43 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 1 added
- 27 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/CMakeLists.txt
r88519 r89069 45 45 heap/Heap.cpp 46 46 heap/HandleHeap.cpp 47 heap/SlotVisitor.cpp 47 48 heap/HandleStack.cpp 48 49 heap/MachineStackMarker.cpp -
trunk/Source/JavaScriptCore/ChangeLog
r89058 r89069 1 2011-06-16 Geoffrey Garen <ggaren@apple.com> 2 3 Reviewed by Oliver Hunt. 4 5 Introduced SlotVisitor into the project 6 https://bugs.webkit.org/show_bug.cgi?id=62820 7 8 This resolves a class vs typedef forward declaration issue, and gives all 9 exported symbols the correct names. 10 11 * CMakeLists.txt: 12 * GNUmakefile.list.am: 13 * JavaScriptCore.exp: 14 * JavaScriptCore.gypi: 15 * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: 16 * JavaScriptCore.xcodeproj/project.pbxproj: Build! 17 18 * bytecode/EvalCodeCache.h: 19 * heap/HandleHeap.h: 20 * heap/Heap.cpp: 21 (JSC::Heap::Heap): 22 (JSC::Heap::markRoots): 23 * heap/Heap.h: 24 * heap/HeapRootVisitor.h: Replaced MarkStack with SlotVisitor. Now no 25 clients operate on a MarkStack. 26 27 * heap/MarkStack.cpp: 28 (JSC::SlotVisitor::visitChildren): 29 (JSC::SlotVisitor::drain): 30 * heap/SlotVisitor.h: Added. 31 (JSC::SlotVisitor::SlotVisitor): Used 'protected' and a little cheesy 32 inheritance to give SlotVisitor all the attributes of MarkStack without 33 making this change giant. Over time, we will move more behavior into 34 SlotVisitor and its subclasses. 35 36 * heap/MarkStack.h: 37 * heap/NewSpace.h: Replaced MarkStack with SlotVisitor. Now no 38 clients operate on a MarkStack. 39 40 * runtime/ArgList.h: 41 * runtime/JSCell.h: 42 * runtime/JSObject.h: 43 * runtime/ScopeChain.h: 44 * runtime/SmallStrings.h: 45 * runtime/Structure.h: Replaced MarkStack with SlotVisitor. Now no 46 clients operate on a MarkStack. 47 1 48 2011-06-15 Oliver Hunt <oliver@apple.com> 2 49 -
trunk/Source/JavaScriptCore/GNUmakefile.list.am
r88674 r89069 127 127 Source/JavaScriptCore/heap/HandleHeap.cpp \ 128 128 Source/JavaScriptCore/heap/HandleHeap.h \ 129 Source/JavaScriptCore/heap/SlotVisitor.h \ 129 130 Source/JavaScriptCore/heap/HandleStack.cpp \ 130 131 Source/JavaScriptCore/heap/HandleStack.h \ -
trunk/Source/JavaScriptCore/JavaScriptCore.exp
r88587 r89069 156 156 __ZN3JSC14JSGlobalObject12defineGetterEPNS_9ExecStateERKNS_10IdentifierEPNS_8JSObjectEj 157 157 __ZN3JSC14JSGlobalObject12defineSetterEPNS_9ExecStateERKNS_10IdentifierEPNS_8JSObjectEj 158 __ZN3JSC14JSGlobalObject13visitChildrenERNS_ 9MarkStackE158 __ZN3JSC14JSGlobalObject13visitChildrenERNS_11SlotVisitorE 159 159 __ZN3JSC14JSGlobalObject16addStaticGlobalsEPNS0_18GlobalPropertyInfoEi 160 160 __ZN3JSC14JSGlobalObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueEj … … 173 173 __ZN3JSC14TimeoutChecker5resetEv 174 174 __ZN3JSC14throwTypeErrorEPNS_9ExecStateE 175 __ZN3JSC15JSWrapperObject13visitChildrenERNS_ 9MarkStackE176 __ZN3JSC15WeakHandleOwner26isReachableFromOpaqueRootsENS_6HandleINS_7UnknownEEEPvRNS_ 9MarkStackE175 __ZN3JSC15JSWrapperObject13visitChildrenERNS_11SlotVisitorE 176 __ZN3JSC15WeakHandleOwner26isReachableFromOpaqueRootsENS_6HandleINS_7UnknownEEEPvRNS_11SlotVisitorE 177 177 __ZN3JSC15WeakHandleOwner8finalizeENS_6HandleINS_7UnknownEEEPv 178 178 __ZN3JSC15WeakHandleOwnerD2Ev … … 262 262 __ZN3JSC6RegExp6createEPNS_12JSGlobalDataERKNS_7UStringENS_11RegExpFlagsE 263 263 __ZN3JSC6RegExpD1Ev 264 __ZN3JSC7JSArray13visitChildrenERNS_ 9MarkStackE264 __ZN3JSC7JSArray13visitChildrenERNS_11SlotVisitorE 265 265 __ZN3JSC7JSArray15setSubclassDataEPv 266 266 __ZN3JSC7JSArray18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE … … 294 294 __ZN3JSC8JSObject12lookupGetterEPNS_9ExecStateERKNS_10IdentifierE 295 295 __ZN3JSC8JSObject12lookupSetterEPNS_9ExecStateERKNS_10IdentifierE 296 __ZN3JSC8JSObject13visitChildrenERNS_ 9MarkStackE296 __ZN3JSC8JSObject13visitChildrenERNS_11SlotVisitorE 297 297 __ZN3JSC8JSObject14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE 298 298 __ZN3JSC8JSObject14deletePropertyEPNS_9ExecStateEj -
trunk/Source/JavaScriptCore/JavaScriptCore.gypi
r88519 r89069 31 31 'heap/Handle.h', 32 32 'heap/HandleHeap.h', 33 'heap/SlotVisitor.h', 33 34 'heap/HandleStack.h', 34 35 'heap/HandleTypes.h', -
trunk/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def
r88587 r89069 228 228 ?isHostFunctionNonInline@JSFunction@JSC@@ABE_NXZ 229 229 ?isMainThread@WTF@@YA_NXZ 230 ?isReachableFromOpaqueRoots@WeakHandleOwner@JSC@@UAE_NV?$Handle@W4Unknown@JSC@@@2@PAXAAV MarkStack@2@@Z230 ?isReachableFromOpaqueRoots@WeakHandleOwner@JSC@@UAE_NV?$Handle@W4Unknown@JSC@@@2@PAXAAVSlotVisitor@2@@Z 231 231 ?isValidAllocation@Heap@JSC@@AAE_NI@Z 232 232 ?isValidCallee@JSValue@JSC@@QAE_NXZ … … 366 366 ?unwrappedObject@JSObject@JSC@@UAEPAV12@XZ 367 367 ?utf8@UString@JSC@@QBE?AVCString@WTF@@_N@Z 368 ?visitChildren@JS GlobalObject@JSC@@UAEXAAVMarkStack@2@@Z369 ?visitChildren@JSObject@JSC@@UAEXAAV MarkStack@2@@Z370 ?visitChildren@JSWrapperObject@JSC@@EAEXAAV MarkStack@2@@Z371 ?visitChildren@ScopeChainNode@JSC@@UAEXAAV MarkStack@2@@Z368 ?visitChildren@JSDOMGlobalObject@WebCore@@UAEXAAVSlotVisitor@JSC@@@Z 369 ?visitChildren@JSObject@JSC@@UAEXAAVSlotVisitor@2@@Z 370 ?visitChildren@JSWrapperObject@JSC@@EAEXAAVSlotVisitor@2@@Z 371 ?visitChildren@ScopeChainNode@JSC@@UAEXAAVSlotVisitor@2@@Z 372 372 ?vtableAnchor@InternalFunction@JSC@@EAEXXZ 373 373 ?wait@ThreadCondition@WTF@@QAEXAAVMutex@2@@Z -
trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
r88519 r89069 167 167 1482B74E0A43032800517CFC /* JSStringRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1482B74C0A43032800517CFC /* JSStringRef.cpp */; }; 168 168 1482B7E40A43076000517CFC /* JSObjectRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1482B7E20A43076000517CFC /* JSObjectRef.cpp */; }; 169 148B572813AA955100DBC90A /* SlotVisitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 148B572713AA955100DBC90A /* SlotVisitor.h */; settings = {ATTRIBUTES = (Private, ); }; }; 169 170 148CD1D8108CF902008163C6 /* JSContextRefPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 148CD1D7108CF902008163C6 /* JSContextRefPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; 170 171 148F21AA107EC53A0042EC2C /* BytecodeGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 969A07200ED1CE3300F1F681 /* BytecodeGenerator.cpp */; }; … … 795 796 148A1626095D16BB00666D0D /* ListRefPtr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ListRefPtr.h; sourceTree = "<group>"; }; 796 797 148A1ECD0D10C23B0069A47C /* RefPtrHashMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RefPtrHashMap.h; sourceTree = "<group>"; }; 798 148B572713AA955100DBC90A /* SlotVisitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SlotVisitor.h; path = ../../../webkit/Source/JavaScriptCore/heap/SlotVisitor.h; sourceTree = SOURCE_ROOT; }; 797 799 148CD1D7108CF902008163C6 /* JSContextRefPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSContextRefPrivate.h; sourceTree = "<group>"; }; 798 800 149559ED0DDCDDF700648087 /* DebuggerCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DebuggerCallFrame.cpp; sourceTree = "<group>"; }; … … 1515 1517 142A1D8113A19C84009DA5FE /* OldSpace.cpp */, 1516 1518 142A1D8213A19C84009DA5FE /* OldSpace.h */, 1519 148B572713AA955100DBC90A /* SlotVisitor.h */, 1517 1520 142E3132134FF0A600AFADB5 /* Strong.h */, 1518 1521 141448CC13A1783700F5BA1A /* TinyBloomFilter.h */, … … 2567 2570 141448CD13A1783700F5BA1A /* TinyBloomFilter.h in Headers */, 2568 2571 142A1D8413A19C84009DA5FE /* OldSpace.h in Headers */, 2572 148B572813AA955100DBC90A /* SlotVisitor.h in Headers */, 2569 2573 ); 2570 2574 runOnlyForDeploymentPostprocessing = 0; -
trunk/Source/JavaScriptCore/bytecode/EvalCodeCache.h
r84556 r89069 43 43 44 44 class MarkStack; 45 typedef MarkStackSlotVisitor;45 class SlotVisitor; 46 46 47 47 class EvalCodeCache { -
trunk/Source/JavaScriptCore/heap/HandleHeap.h
r88911 r89069 40 40 class JSValue; 41 41 class MarkStack; 42 typedef MarkStackSlotVisitor;42 class SlotVisitor; 43 43 44 44 class WeakHandleOwner { -
trunk/Source/JavaScriptCore/heap/Heap.cpp
r88504 r89069 247 247 , m_activityCallback(DefaultGCActivityCallback::create(this)) 248 248 , m_machineThreads(this) 249 , m_ markStack(globalData->jsArrayVPtr)249 , m_slotVisitor(globalData->jsArrayVPtr) 250 250 , m_handleHeap(globalData) 251 251 , m_globalData(globalData) … … 415 415 clearMarks(); 416 416 417 MarkStack& visitor = m_markStack;417 SlotVisitor& visitor = m_slotVisitor; 418 418 HeapRootVisitor heapRootVisitor(visitor); 419 419 -
trunk/Source/JavaScriptCore/heap/Heap.h
r88504 r89069 25 25 #include "HandleHeap.h" 26 26 #include "HandleStack.h" 27 #include " MarkStack.h"27 #include "SlotVisitor.h" 28 28 #include "MarkedBlockSet.h" 29 29 #include "NewSpace.h" … … 41 41 class JSValue; 42 42 class LiveObjectIterator; 43 class MarkStack;44 43 class MarkedArgumentBuffer; 45 44 class RegisterFile; 46 45 class UString; 47 46 class WeakGCHandlePool; 48 typedef MarkStackSlotVisitor;47 class SlotVisitor; 49 48 50 49 typedef std::pair<JSValue, UString> ValueStringPair; … … 156 155 157 156 MachineThreads m_machineThreads; 158 MarkStack m_markStack;157 SlotVisitor m_slotVisitor; 159 158 HandleHeap m_handleHeap; 160 159 HandleStack m_handleStack; -
trunk/Source/JavaScriptCore/heap/HeapRootVisitor.h
r88324 r89069 27 27 #define HeapRootVisitor_h 28 28 29 #include " MarkStack.h"29 #include "SlotVisitor.h" 30 30 31 31 namespace JSC { -
trunk/Source/JavaScriptCore/heap/MarkStack.cpp
r87198 r89069 52 52 } 53 53 54 inline void MarkStack::visitChildren(JSCell* cell)54 inline void SlotVisitor::visitChildren(JSCell* cell) 55 55 { 56 56 ASSERT(Heap::isMarked(cell)); … … 80 80 } 81 81 82 void MarkStack::drain()82 void SlotVisitor::drain() 83 83 { 84 84 #if !ASSERT_DISABLED -
trunk/Source/JavaScriptCore/heap/MarkStack.h
r87316 r89069 94 94 int opaqueRootCount(); 95 95 96 void drain();97 96 void reset(); 98 97 99 pr ivate:98 protected: 100 99 #if ENABLE(GC_VALIDATION) 101 100 static void validateSet(JSValue*, size_t); … … 109 108 void internalAppend(JSCell*); 110 109 void internalAppend(JSValue); 111 void visitChildren(JSCell*);112 110 113 111 void* m_jsArrayVPtr; … … 273 271 } 274 272 275 typedef MarkStackSlotVisitor;273 class SlotVisitor; 276 274 277 275 } // namespace JSC -
trunk/Source/JavaScriptCore/heap/NewSpace.h
r88519 r89069 42 42 class MarkStack; 43 43 class WeakGCHandle; 44 typedef MarkStackSlotVisitor;44 class SlotVisitor; 45 45 46 46 class NewSpace { -
trunk/Source/JavaScriptCore/runtime/ArgList.h
r86209 r89069 32 32 33 33 class MarkStack; 34 typedef MarkStackSlotVisitor;34 class SlotVisitor; 35 35 36 36 class MarkedArgumentBuffer { -
trunk/Source/JavaScriptCore/runtime/JSCell.h
r88587 r89069 30 30 #include "JSLock.h" 31 31 #include "JSValueInlineMethods.h" 32 #include " MarkStack.h"32 #include "SlotVisitor.h" 33 33 #include "WriteBarrier.h" 34 34 #include <wtf/Noncopyable.h> -
trunk/Source/JavaScriptCore/runtime/JSObject.h
r87826 r89069 30 30 #include "CallFrame.h" 31 31 #include "JSCell.h" 32 #include "MarkStack.h"33 32 #include "PropertySlot.h" 34 33 #include "PutPropertySlot.h" -
trunk/Source/JavaScriptCore/runtime/ScopeChain.h
r86499 r89069 33 33 class MarkStack; 34 34 class ScopeChainIterator; 35 typedef MarkStackSlotVisitor;35 class SlotVisitor; 36 36 37 37 class ScopeChainNode : public JSCell { -
trunk/Source/JavaScriptCore/runtime/SmallStrings.h
r87448 r89069 38 38 class MarkStack; 39 39 class SmallStringsStorage; 40 typedef MarkStackSlotVisitor;40 class SlotVisitor; 41 41 42 42 static const unsigned maxSingleCharacterString = 0xFF; -
trunk/Source/JavaScriptCore/runtime/Structure.h
r86499 r89069 49 49 class PropertyNameArrayData; 50 50 class StructureChain; 51 typedef MarkStackSlotVisitor;51 class SlotVisitor; 52 52 53 53 struct ClassInfo; -
trunk/Source/WebCore/ChangeLog
r89067 r89069 1 2011-06-16 Geoffrey Garen <ggaren@apple.com> 2 3 Reviewed by Oliver Hunt. 4 5 Introduced SlotVisitor into the project 6 https://bugs.webkit.org/show_bug.cgi?id=62820 7 8 This resolves a class vs typedef forward declaration issue, and gives all 9 exported symbols the correct names. 10 11 * dom/EventListener.h: 12 * dom/Node.h: 13 * dom/NodeFilterCondition.h: 14 1 15 2011-06-16 Abhishek Arya <inferno@chromium.org> 2 16 -
trunk/Source/WebCore/bindings/js/JSCSSRuleListCustom.cpp
r84699 r89069 36 36 namespace WebCore { 37 37 38 bool JSCSSRuleListOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, MarkStack& markStack)38 bool JSCSSRuleListOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) 39 39 { 40 40 JSCSSRuleList* jsCSSRuleList = static_cast<JSCSSRuleList*>(handle.get().asCell()); … … 42 42 return false; 43 43 if (StyleList* styleList = jsCSSRuleList->impl()->styleList()) 44 return markStack.containsOpaqueRoot(root(styleList));44 return visitor.containsOpaqueRoot(root(styleList)); 45 45 if (CSSRule* cssRule = jsCSSRuleList->impl()->item(0)) 46 return markStack.containsOpaqueRoot(root(cssRule));46 return visitor.containsOpaqueRoot(root(cssRule)); 47 47 return false; 48 48 } -
trunk/Source/WebCore/bindings/js/JSCSSValueCustom.cpp
r85127 r89069 46 46 namespace WebCore { 47 47 48 bool JSCSSValueOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void* context, MarkStack& markStack)48 bool JSCSSValueOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void* context, SlotVisitor& visitor) 49 49 { 50 50 JSCSSValue* jsCSSValue = static_cast<JSCSSValue*>(handle.get().asCell()); … … 55 55 if (!root) 56 56 return false; 57 return markStack.containsOpaqueRoot(root);57 return visitor.containsOpaqueRoot(root); 58 58 } 59 59 -
trunk/Source/WebCore/dom/EventListener.h
r84556 r89069 26 26 namespace JSC { 27 27 class JSObject; 28 class MarkStack; 29 typedef MarkStack SlotVisitor; 28 class SlotVisitor; 30 29 } 31 30 -
trunk/Source/WebCore/dom/Node.h
r88570 r89069 37 37 namespace JSC { 38 38 class JSGlobalData; 39 class MarkStack; 40 typedef MarkStack SlotVisitor; 39 class SlotVisitor; 41 40 } 42 41 #endif -
trunk/Source/WebCore/dom/NodeFilterCondition.h
r84556 r89069 30 30 31 31 namespace JSC { 32 class MarkStack; 33 typedef MarkStack SlotVisitor; 32 33 class SlotVisitor; 34 34 35 } 35 36
Note: See TracChangeset
for help on using the changeset viewer.