Changeset 37631 in webkit for trunk/JavaScriptCore
- Timestamp:
- Oct 16, 2008, 1:00:53 AM (17 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r37630 r37631 1 2008-10-15 Alexey Proskuryakov <[email protected]> 2 3 Reviewed by Darin Adler. 4 5 https://bugs.webkit.org/show_bug.cgi?id=21609 6 Make MessagePorts protect their peers across heaps 7 8 * JavaScriptCore.exp: 9 * kjs/JSGlobalObject.cpp: 10 (JSC::JSGlobalObject::markCrossHeapDependentObjects): 11 * kjs/JSGlobalObject.h: 12 * kjs/collector.cpp: 13 (JSC::Heap::collect): 14 Before GC sweep phase, a function supplied by global object is now called for all global 15 objects in the heap, making it possible to implement cross-heap dependencies. 16 1 17 2008-10-15 Alexey Proskuryakov <[email protected]> 2 18 -
trunk/JavaScriptCore/JavaScriptCore.exp
r37622 r37631 148 148 __ZN3JSC14JSGlobalObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueEj 149 149 __ZN3JSC14JSGlobalObject17startTimeoutCheckEv 150 __ZN3JSC14JSGlobalObject29markCrossHeapDependentObjectsEv 150 151 __ZN3JSC14JSGlobalObject3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueERNS_15PutPropertySlotE 151 152 __ZN3JSC14JSGlobalObject4initEPNS_8JSObjectE -
trunk/JavaScriptCore/kjs/JSGlobalObject.cpp
r37433 r37631 400 400 } 401 401 402 void JSGlobalObject::markCrossHeapDependentObjects() 403 { 404 // Overridden by subclasses. 405 } 406 402 407 JSGlobalObject* JSGlobalObject::toGlobalObject(ExecState*) const 403 408 { -
trunk/JavaScriptCore/kjs/JSGlobalObject.h
r37323 r37631 159 159 160 160 virtual void mark(); 161 virtual void markCrossHeapDependentObjects(); 161 162 162 163 virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&); -
trunk/JavaScriptCore/kjs/collector.cpp
r37622 r37631 970 970 m_globalData->smallStrings.mark(); 971 971 972 JSGlobalObject* globalObject = m_globalData->head; 973 do { 974 globalObject->markCrossHeapDependentObjects(); 975 globalObject = globalObject->next(); 976 } while (globalObject != m_globalData->head); 977 972 978 JAVASCRIPTCORE_GC_MARKED(); 973 979
Note:
See TracChangeset
for help on using the changeset viewer.