Title: [176005] trunk/Source/_javascript_Core
Revision
176005
Author
msab...@apple.com
Date
2014-11-11 22:00:42 -0800 (Tue, 11 Nov 2014)

Log Message

Change DFG to use scope operand for op_resolve_scope
https://bugs.webkit.org/show_bug.cgi?id=138651

Reviewed by Geoffrey Garen.

Changed to use the provided scope VirtualRegister.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getScope): Changed to use an argument scope register.
(JSC::DFG::ByteCodeParser::parseBlock): Created VirtualRegister from scope operand.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (176004 => 176005)


--- trunk/Source/_javascript_Core/ChangeLog	2014-11-12 05:23:03 UTC (rev 176004)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-11-12 06:00:42 UTC (rev 176005)
@@ -1,3 +1,16 @@
+2014-11-11  Michael Saboff  <msab...@apple.com>
+
+        Change DFG to use scope operand for op_resolve_scope
+        https://bugs.webkit.org/show_bug.cgi?id=138651
+
+        Reviewed by Geoffrey Garen.
+
+        Changed to use the provided scope VirtualRegister.
+
+        * dfg/DFGByteCodeParser.cpp:
+        (JSC::DFG::ByteCodeParser::getScope): Changed to use an argument scope register.
+        (JSC::DFG::ByteCodeParser::parseBlock): Created VirtualRegister from scope operand.
+
 2014-11-11  Gyuyoung Kim  <gyuyoung....@samsung.com>
 
         Remove IncrementalSweeper::create()

Modified: trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp (176004 => 176005)


--- trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp	2014-11-12 05:23:03 UTC (rev 176004)
+++ trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp	2014-11-12 06:00:42 UTC (rev 176005)
@@ -206,7 +206,7 @@
         bool isDirect);
     void emitChecks(const ConstantStructureCheckVector&);
 
-    Node* getScope(unsigned skipCount);
+    Node* getScope(VirtualRegister scopeChain, unsigned skipCount);
     
     void prepareToParseBlock();
     void clearCaches();
@@ -2301,9 +2301,9 @@
     m_constants.resize(0);
 }
 
-Node* ByteCodeParser::getScope(unsigned skipCount)
+Node* ByteCodeParser::getScope(VirtualRegister scopeChain, unsigned skipCount)
 {
-    Node* localBase = get(VirtualRegister(JSStack::ScopeChain));
+    Node* localBase = get(scopeChain);
     for (unsigned n = skipCount; n--;)
         localBase = addToGraph(SkipScope, localBase);
     return localBase;
@@ -3198,7 +3198,7 @@
                     set(VirtualRegister(dst), weakJSConstant(lexicalEnvironment));
                     break;
                 }
-                set(VirtualRegister(dst), getScope(depth));
+                set(VirtualRegister(dst), getScope(VirtualRegister(currentInstruction[2].u.operand), depth));
                 break;
             }
             case Dynamic:
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to