]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - bytecompiler/Label.h
JavaScriptCore-1097.3.3.tar.gz
[apple/javascriptcore.git] / bytecompiler / Label.h
index 8cab1dbc00dc9ec623b37a20a86c484cc7122f88..21fa46309a2f2875a28da6483bb4a56fe1ee0dad 100644 (file)
@@ -39,21 +39,14 @@ namespace JSC {
 
     class Label {
     public:
-        explicit Label(CodeBlock* codeBlock)
+        explicit Label(BytecodeGenerator* generator)
             : m_refCount(0)
             , m_location(invalidLocation)
-            , m_codeBlock(codeBlock)
+            , m_generator(generator)
         {
         }
 
-        void setLocation(unsigned location)
-        {
-            m_location = location;
-
-            unsigned size = m_unresolvedJumps.size();
-            for (unsigned i = 0; i < size; ++i)
-                m_codeBlock->instructions()[m_unresolvedJumps[i].second].u.operand = m_location - m_unresolvedJumps[i].first;
-        }
+        void setLocation(unsigned);
 
         int bind(int opcode, int offset) const
         {
@@ -81,7 +74,7 @@ namespace JSC {
 
         int m_refCount;
         unsigned m_location;
-        CodeBlock* m_codeBlock;
+        BytecodeGenerator* m_generator;
         mutable JumpVector m_unresolvedJumps;
     };