Fix Use details for op_create_arguments.
authormark.lam@apple.com <mark.lam@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 6 Jan 2015 21:58:12 +0000 (21:58 +0000)
committermark.lam@apple.com <mark.lam@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 6 Jan 2015 21:58:12 +0000 (21:58 +0000)
<https://webkit.org/b/140110>

Rubber stamped by Filip Pizlo.

The previous patch was wrong about op_create_arguments not using its 1st operand.
It does read from it (hence, used) to check if the Arguments object has already
been created or not.  This patch reverts the change for op_create_arguments.

* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):

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

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/bytecode/BytecodeUseDef.h

index 4e853ae..2a98685 100644 (file)
@@ -1,5 +1,19 @@
 2015-01-06  Mark Lam  <mark.lam@apple.com>
 
+        Fix Use details for op_create_arguments.
+        <https://webkit.org/b/140110>
+
+        Rubber stamped by Filip Pizlo.
+
+        The previous patch was wrong about op_create_arguments not using its 1st operand.
+        It does read from it (hence, used) to check if the Arguments object has already
+        been created or not.  This patch reverts the change for op_create_arguments.
+
+        * bytecode/BytecodeUseDef.h:
+        (JSC::computeUsesForBytecodeOffset):
+
+2015-01-06  Mark Lam  <mark.lam@apple.com>
+
         Fix Use details for op_create_lexical_environment and op_create_arguments.
         <https://webkit.org/b/140110>
 
index ea82b67..3e6e14e 100644 (file)
@@ -40,7 +40,6 @@ void computeUsesForBytecodeOffset(
     OpcodeID opcodeID = interpreter->getOpcodeID(instruction->u.opcode);
     switch (opcodeID) {
     // No uses.
-    case op_create_arguments:
     case op_new_regexp:
     case op_new_array_buffer:
     case op_throw_static_error:
@@ -57,6 +56,7 @@ void computeUsesForBytecodeOffset(
     case op_profile_control_flow:
         return;
     case op_get_scope:
+    case op_create_arguments:
     case op_to_this:
     case op_pop_scope:
     case op_profile_will_call: