op_assert should declare that it uses the first register argument
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Nov 2015 18:52:03 +0000 (18:52 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Nov 2015 18:52:03 +0000 (18:52 +0000)
https://bugs.webkit.org/show_bug.cgi?id=151183

Reviewed by Geoffrey Garen.

op_assert(conditionRegister, lineNumber) should declare that it
*uses* (in terms of use-def) the first `conditionRegister` and
it does not define any variables.

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

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

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

index 26ba93e..f528e2b 100644 (file)
@@ -1,3 +1,17 @@
+2015-11-13  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        op_assert should declare that it uses the first register argument
+        https://bugs.webkit.org/show_bug.cgi?id=151183
+
+        Reviewed by Geoffrey Garen.
+
+        op_assert(conditionRegister, lineNumber) should declare that it
+        *uses* (in terms of use-def) the first `conditionRegister` and
+        it does not define any variables.
+
+        * bytecode/BytecodeUseDef.h:
+        (JSC::computeUsesForBytecodeOffset):
+
 2015-11-13  Andreas Kling  <akling@apple.com>
 
         [JSC] JSPropertyNameEnumerator could be destructorless.
index 31511e7..12cc191 100644 (file)
@@ -43,7 +43,6 @@ void computeUsesForBytecodeOffset(
     case op_new_regexp:
     case op_new_array_buffer:
     case op_throw_static_error:
-    case op_assert:
     case op_debug:
     case op_jneq_ptr:
     case op_loop_hint:
@@ -55,6 +54,7 @@ void computeUsesForBytecodeOffset(
     case op_create_direct_arguments:
     case op_create_out_of_band_arguments:
         return;
+    case op_assert:
     case op_get_scope:
     case op_load_arrowfunction_this:
     case op_to_this: