Ignore:
Timestamp:
Oct 5, 2011, 3:44:36 PM (14 years ago)
Author:
[email protected]
Message:

Added a simpler mechanism for registering one-off finalizers
https://bugs.webkit.org/show_bug.cgi?id=69466

Reviewed by Oliver Hunt.

  • heap/Heap.cpp:

(JSC::Heap::addFinalizer):
(JSC::Heap::FinalizerOwner::finalize):

  • heap/Heap.h: New function for adding an arbitrary finalizer for an

arbitrary cell without declaring any special classes or Handles yourself.

  • runtime/Executable.cpp:

(JSC::ExecutableBase::clearCode):
(JSC::ExecutableBase::clearCodeVirtual):
(JSC::EvalExecutable::clearCodeVirtual):
(JSC::ProgramExecutable::clearCodeVirtual):
(JSC::FunctionExecutable::discardCode):
(JSC::FunctionExecutable::clearCodeVirtual):

  • runtime/Executable.h:

(JSC::ExecutableBase::finishCreation): Use the new mechanism for eager
finalization of executables.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::clearRareData):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::createRareDataIfNeeded):
(JSC::JSGlobalObject::registerWeakMap): Use the new mechanism for eager
finalization of weak maps.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/JavaScriptCore.exp

    r96446 r96760  
    118118__ZN3JSC11JSByteArray15createStructureERNS_12JSGlobalDataEPNS_14JSGlobalObjectENS_7JSValueEPKNS_9ClassInfoE
    119119__ZN3JSC11JSByteArrayC1EPNS_9ExecStateEPNS_9StructureEPN3WTF9ByteArrayE
    120 __ZN3JSC15AllocationSpace16allocateSlowCaseERNS_11MarkedSpace9SizeClassE
    121120__ZN3JSC11ParserArena5resetEv
    122121__ZN3JSC11checkSyntaxEPNS_9ExecStateERKNS_10SourceCodeEPNS_7JSValueE
     
    163162__ZN3JSC14JSGlobalObject12defineGetterEPNS_9ExecStateERKNS_10IdentifierEPNS_8JSObjectEj
    164163__ZN3JSC14JSGlobalObject12defineSetterEPNS_9ExecStateERKNS_10IdentifierEPNS_8JSObjectEj
     164__ZN3JSC14JSGlobalObject13clearRareDataEPNS_6JSCellE
    165165__ZN3JSC14JSGlobalObject13visitChildrenEPNS_6JSCellERNS_11SlotVisitorE
    166166__ZN3JSC14JSGlobalObject16addStaticGlobalsEPNS0_18GlobalPropertyInfoEi
     
    180180__ZN3JSC14VTableSpectrum5countEPNS_6JSCellE
    181181__ZN3JSC14throwTypeErrorEPNS_9ExecStateE
     182__ZN3JSC15AllocationSpace16allocateSlowCaseERNS_11MarkedSpace9SizeClassE
    182183__ZN3JSC15WeakHandleOwner26isReachableFromOpaqueRootsENS_6HandleINS_7UnknownEEEPvRNS_11SlotVisitorE
    183184__ZN3JSC15WeakHandleOwner8finalizeENS_6HandleINS_7UnknownEEEPv
     
    233234__ZN3JSC41constructFunctionSkippingEvalEnabledCheckEPNS_9ExecStateEPNS_14JSGlobalObjectERKNS_7ArgListERKNS_10IdentifierERKNS_7UStringEi
    234235__ZN3JSC4Heap11objectCountEv
     236__ZN3JSC4Heap12addFinalizerEPNS_6JSCellEPFvS2_E
    235237__ZN3JSC4Heap16activityCallbackEv
    236238__ZN3JSC4Heap16objectTypeCountsEv
Note: See TracChangeset for help on using the changeset viewer.