Changeset 96760 in webkit for trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h
- Timestamp:
- Oct 5, 2011, 3:44:36 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h
r96755 r96760 58 58 typedef HashSet<RefPtr<OpaqueJSWeakObjectMap> > WeakMapSet; 59 59 60 class WeakMapsFinalizer : public WeakHandleOwner {61 public:62 virtual void finalize(Handle<Unknown>, void* context);63 };64 65 60 struct JSGlobalObjectRareData { 66 61 JSGlobalObjectRareData() … … 71 66 WeakMapSet weakMaps; 72 67 unsigned profileGroup; 73 Weak<JSGlobalObject> weakMapsFinalizer;74 68 }; 75 69 … … 129 123 130 124 OwnPtr<JSGlobalObjectRareData> m_rareData; 131 static WeakMapsFinalizer* weakMapsFinalizer();132 125 133 126 WeakRandom m_weakRandom; … … 139 132 void createRareDataIfNeeded() 140 133 { 141 if (!m_rareData) 142 m_rareData = adoptPtr(new JSGlobalObjectRareData); 134 if (m_rareData) 135 return; 136 m_rareData = adoptPtr(new JSGlobalObjectRareData); 137 Heap::heap(this)->addFinalizer(this, clearRareData); 143 138 } 144 139 … … 281 276 { 282 277 createRareDataIfNeeded(); 283 if (!m_rareData->weakMapsFinalizer)284 m_rareData->weakMapsFinalizer.set(globalData(), this, weakMapsFinalizer());285 278 m_rareData->weakMaps.add(map); 286 279 } … … 317 310 318 311 void setRegisters(WriteBarrier<Unknown>* registers, PassOwnArrayPtr<WriteBarrier<Unknown> > registerArray, size_t count); 312 static void clearRareData(JSCell*); 319 313 }; 320 314
Note:
See TracChangeset
for help on using the changeset viewer.