CodeBlock: Size m_callLinkInfos and m_byValInfos to fit earlier.
authorakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 19 Jan 2014 01:11:56 +0000 (01:11 +0000)
committerakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 19 Jan 2014 01:11:56 +0000 (01:11 +0000)
<https://webkit.org/b/127239>

Reviewed by Anders Carlsson.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::setNumberOfByValInfos):
(JSC::CodeBlock::setNumberOfCallLinkInfos):

    Use resizeToFit() instead of grow() for these vectors, since
    we know the final size here.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::shrinkToFit):

    No need to shrink here anymore. We were not even shrinking
    m_byValInfo before!

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162284 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/bytecode/CodeBlock.cpp
Source/JavaScriptCore/bytecode/CodeBlock.h

index 73851bdeee7149a7d2816384bd83e2c7b35734e5..ca484fea76e9ee66e167b0d7ddbe3ba0383b314f 100644 (file)
@@ -1,3 +1,23 @@
+2014-01-18  Andreas Kling  <akling@apple.com>
+
+        CodeBlock: Size m_callLinkInfos and m_byValInfos to fit earlier.
+        <https://webkit.org/b/127239>
+
+        Reviewed by Anders Carlsson.
+
+        * bytecode/CodeBlock.h:
+        (JSC::CodeBlock::setNumberOfByValInfos):
+        (JSC::CodeBlock::setNumberOfCallLinkInfos):
+
+            Use resizeToFit() instead of grow() for these vectors, since
+            we know the final size here.
+
+        * bytecode/CodeBlock.cpp:
+        (JSC::CodeBlock::shrinkToFit):
+
+            No need to shrink here anymore. We were not even shrinking
+            m_byValInfo before!
+
 2014-01-18  Andreas Kling  <akling@apple.com>
 
         CodeBlock: Size m_function{Exprs,Decls} to fit from creation.
index 4ff29d335c39e76448e2546945d1cb6306c1fe50..209e2a6f8d9d2ab84cedf607cae36a5a01b7a046 100644 (file)
@@ -2583,9 +2583,6 @@ unsigned CodeBlock::opDebugBytecodeOffsetForLineAndColumn(unsigned& line, unsign
 
 void CodeBlock::shrinkToFit(ShrinkMode shrinkMode)
 {
-#if ENABLE(JIT)
-    m_callLinkInfos.shrinkToFit();
-#endif
     m_rareCaseProfiles.shrinkToFit();
     m_specialFastCaseProfiles.shrinkToFit();
     
index 8cc72164c423193ab1921ddb356963de362833ce..e0fe4186921b231c4a8e8c8b96d4b9aa99e13b20 100644 (file)
@@ -401,11 +401,11 @@ public:
     String nameForRegister(VirtualRegister);
 
 #if ENABLE(JIT)
-    void setNumberOfByValInfos(size_t size) { m_byValInfos.grow(size); }
+    void setNumberOfByValInfos(size_t size) { m_byValInfos.resizeToFit(size); }
     size_t numberOfByValInfos() const { return m_byValInfos.size(); }
     ByValInfo& byValInfo(size_t index) { return m_byValInfos[index]; }
 
-    void setNumberOfCallLinkInfos(size_t size) { m_callLinkInfos.grow(size); }
+    void setNumberOfCallLinkInfos(size_t size) { m_callLinkInfos.resizeToFit(size); }
     size_t numberOfCallLinkInfos() const { return m_callLinkInfos.size(); }
     CallLinkInfo& callLinkInfo(int index) { return m_callLinkInfos[index]; }
 #endif