Title: [101946] trunk/Source/_javascript_Core
Revision
101946
Author
da...@apple.com
Date
2011-12-03 21:20:49 -0800 (Sat, 03 Dec 2011)

Log Message

Use HashMap<OwnPtr> for ScriptSampleRecordMap
https://bugs.webkit.org/show_bug.cgi?id=73758

Reviewed by Andreas Kling.

* bytecode/SamplingTool.cpp:
(JSC::SamplingTool::notifyOfScope): Added adoptPtr.
(JSC::SamplingTool::dump): Added get.
* bytecode/SamplingTool.h: Changed the value type of ScriptSampleRecordMap to be OwnPtr.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (101945 => 101946)


--- trunk/Source/_javascript_Core/ChangeLog	2011-12-04 05:20:08 UTC (rev 101945)
+++ trunk/Source/_javascript_Core/ChangeLog	2011-12-04 05:20:49 UTC (rev 101946)
@@ -1,5 +1,17 @@
 2011-12-03  Darin Adler  <da...@apple.com>
 
+        Use HashMap<OwnPtr> for ScriptSampleRecordMap
+        https://bugs.webkit.org/show_bug.cgi?id=73758
+
+        Reviewed by Andreas Kling.
+
+        * bytecode/SamplingTool.cpp:
+        (JSC::SamplingTool::notifyOfScope): Added adoptPtr.
+        (JSC::SamplingTool::dump): Added get.
+        * bytecode/SamplingTool.h: Changed the value type of ScriptSampleRecordMap to be OwnPtr.
+
+2011-12-03  Darin Adler  <da...@apple.com>
+
         Use HashMap<OwnPtr> for the opaqueJSClassData map
         https://bugs.webkit.org/show_bug.cgi?id=73759
 

Modified: trunk/Source/_javascript_Core/bytecode/SamplingTool.cpp (101945 => 101946)


--- trunk/Source/_javascript_Core/bytecode/SamplingTool.cpp	2011-12-04 05:20:08 UTC (rev 101945)
+++ trunk/Source/_javascript_Core/bytecode/SamplingTool.cpp	2011-12-04 05:20:49 UTC (rev 101946)
@@ -303,7 +303,7 @@
 {
 #if ENABLE(CODEBLOCK_SAMPLING)
     MutexLocker locker(m_scriptSampleMapMutex);
-    m_scopeSampleMap->set(script, new ScriptSampleRecord(globalData, script));
+    m_scopeSampleMap->set(script, adoptPtr(new ScriptSampleRecord(globalData, script)));
 #else
     UNUSED_PARAM(globalData);
     UNUSED_PARAM(script);
@@ -412,7 +412,7 @@
     Vector<ScriptSampleRecord*> codeBlockSamples(scopeCount);
     ScriptSampleRecordMap::iterator iter = m_scopeSampleMap->begin();
     for (int i = 0; i < scopeCount; ++i, ++iter)
-        codeBlockSamples[i] = iter->second;
+        codeBlockSamples[i] = iter->second.get();
 
     qsort(codeBlockSamples.begin(), scopeCount, sizeof(ScriptSampleRecord*), compareScriptSampleRecords);
 

Modified: trunk/Source/_javascript_Core/bytecode/SamplingTool.h (101945 => 101946)


--- trunk/Source/_javascript_Core/bytecode/SamplingTool.h	2011-12-04 05:20:08 UTC (rev 101945)
+++ trunk/Source/_javascript_Core/bytecode/SamplingTool.h	2011-12-04 05:20:49 UTC (rev 101946)
@@ -211,7 +211,7 @@
         unsigned m_size;
     };
 
-    typedef WTF::HashMap<ScriptExecutable*, ScriptSampleRecord*> ScriptSampleRecordMap;
+    typedef HashMap<ScriptExecutable*, OwnPtr<ScriptSampleRecord> > ScriptSampleRecordMap;
 
     class SamplingThread {
     public:
@@ -287,20 +287,13 @@
             , m_sampleCount(0)
             , m_opcodeSampleCount(0)
 #if ENABLE(CODEBLOCK_SAMPLING)
-            , m_scopeSampleMap(adoptPtr(new ScriptSampleRecordMap()))
+            , m_scopeSampleMap(adoptPtr(new ScriptSampleRecordMap))
 #endif
         {
             memset(m_opcodeSamples, 0, sizeof(m_opcodeSamples));
             memset(m_opcodeSamplesInCTIFunctions, 0, sizeof(m_opcodeSamplesInCTIFunctions));
         }
 
-        ~SamplingTool()
-        {
-#if ENABLE(CODEBLOCK_SAMPLING)
-            deleteAllValues(*m_scopeSampleMap);
-#endif
-        }
-
         void setup();
         void dump(ExecState*);
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to