]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - heap/DFGCodeBlocks.cpp
JavaScriptCore-1218.0.1.tar.gz
[apple/javascriptcore.git] / heap / DFGCodeBlocks.cpp
index f0d7c0c89bd37fb848c2158856fbf6a07883b233..e3cc75919d3f3d818b97b48ac5f6f58bbf13b2f0 100644 (file)
@@ -38,14 +38,12 @@ DFGCodeBlocks::DFGCodeBlocks() { }
 
 DFGCodeBlocks::~DFGCodeBlocks()
 {
-    Vector<CodeBlock*, 16> toRemove;
+    Vector<OwnPtr<CodeBlock>, 16> toRemove;
     
     for (HashSet<CodeBlock*>::iterator iter = m_set.begin(); iter != m_set.end(); ++iter) {
         if ((*iter)->m_dfgData->isJettisoned)
-            toRemove.append(*iter);
+            toRemove.append(adoptPtr(*iter));
     }
-    
-    WTF::deleteAllValues(toRemove);
 }
 
 void DFGCodeBlocks::jettison(PassOwnPtr<CodeBlock> codeBlockPtr)
@@ -75,14 +73,12 @@ void DFGCodeBlocks::clearMarks()
 
 void DFGCodeBlocks::deleteUnmarkedJettisonedCodeBlocks()
 {
-    Vector<CodeBlock*, 16> toRemove;
+    Vector<OwnPtr<CodeBlock>, 16> toRemove;
     
     for (HashSet<CodeBlock*>::iterator iter = m_set.begin(); iter != m_set.end(); ++iter) {
         if ((*iter)->m_dfgData->isJettisoned && !(*iter)->m_dfgData->mayBeExecuting)
-            toRemove.append(*iter);
+            toRemove.append(adoptPtr(*iter));
     }
-    
-    WTF::deleteAllValues(toRemove);
 }
 
 void DFGCodeBlocks::traceMarkedCodeBlocks(SlotVisitor& visitor)