Changeset 83661 in webkit for trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h
- Timestamp:
- Apr 12, 2011, 4:27:37 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h
r79240 r83661 89 89 initialize(toRef(exec), toRef(this)); 90 90 } 91 } 92 93 template <class Base> 94 JSCallbackObject<Base>::~JSCallbackObject() 95 {96 JSObjectRef thisRef = toRef(this);97 98 for (JSClassRef jsClass = classRef(); jsClass; jsClass = jsClass->parentClass)99 if (JSObjectFinalizeCallback finalize = jsClass->finalize)100 finalize(thisRef);91 92 bool needsFinalizer = false; 93 for (JSClassRef jsClassPtr = classRef(); jsClassPtr && !needsFinalizer; jsClassPtr = jsClassPtr->parentClass) 94 needsFinalizer = jsClassPtr->finalize; 95 if (needsFinalizer) { 96 HandleSlot slot = exec->globalData().allocateGlobalHandle(); 97 HandleHeap::heapFor(slot)->makeWeak(slot, m_callbackObjectData.get(), classRef()); 98 HandleHeap::heapFor(slot)->writeBarrier(slot, this); 99 *slot = this; 100 } 101 101 } 102 102
Note:
See TracChangeset
for help on using the changeset viewer.