Ignore:
Timestamp:
Jun 12, 2008, 7:34:38 AM (17 years ago)
Author:
[email protected]
Message:

Reviewed by Maciej.

Preparation to making JavaScript heap per-thread.

  • kjs/collector.cpp: (KJS::Collector::collect):
  • kjs/collector.h: (KJS::Collector::markListSet): The collector now holds the list of protected lists itself, to be made per-instance.
  • kjs/list.h: Changed to hold a pointer to a mark set this list is in, if any. (KJS::List::List): Explicitly initialize m_size with zero, as m_vector.size() is guaranteed to be such anyway. (KJS::List::append): Changed the fast case to only be executed as long as inline buffer is used, because otherwise, we now do more expensive checks.
  • kjs/list.cpp: (KJS::List::markLists): Renamed from markProtectedListsSlowCase, made it take the list set as a parameter. (KJS::List::slowAppend): If a non-immediate value is appended, the list needs to be added to an appropriate Heap's protected list. For now, a static Collector::markListSet() is used, but the code is layed out in preparation to making the switch to multiple heaps.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.exp

    r34499 r34514  
    140140__ZN3KJS19initializeThreadingEv
    141141__ZN3KJS23objectProtoFuncToStringEPNS_9ExecStateEPNS_8JSObjectERKNS_4ListE
    142 __ZN3KJS4List15expandAndAppendEPNS_7JSValueE
    143 __ZN3KJS4List7markSetEv
     142__ZN3KJS4List10slowAppendEPNS_7JSValueE
    144143__ZN3KJS5equalEPKNS_7UString3RepES3_
    145144__ZN3KJS6JSCell11getCallDataERNS_8CallDataE
Note: See TracChangeset for help on using the changeset viewer.