get_argument_by_val should be profiled everywhere
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 4 Jun 2012 23:32:57 +0000 (23:32 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 4 Jun 2012 23:32:57 +0000 (23:32 +0000)
https://bugs.webkit.org/show_bug.cgi?id=88205

Reviewed by Geoffrey Garen.

* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emitSlow_op_get_argument_by_val):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

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

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/jit/JITOpcodes32_64.cpp
Source/JavaScriptCore/llint/LLIntSlowPaths.cpp

index ccfa543..685f434 100644 (file)
@@ -1,5 +1,17 @@
 2012-06-04  Filip Pizlo  <fpizlo@apple.com>
 
+        get_argument_by_val should be profiled everywhere
+        https://bugs.webkit.org/show_bug.cgi?id=88205
+
+        Reviewed by Geoffrey Garen.
+
+        * jit/JITOpcodes32_64.cpp:
+        (JSC::JIT::emitSlow_op_get_argument_by_val):
+        * llint/LLIntSlowPaths.cpp:
+        (JSC::LLInt::LLINT_SLOW_PATH_DECL):
+
+2012-06-04  Filip Pizlo  <fpizlo@apple.com>
+
         DFG arguments simplification takes unkindly to direct accesses to the arguments register
         https://bugs.webkit.org/show_bug.cgi?id=88261
 
index 12e47b2..3a1ceba 100644 (file)
@@ -1672,7 +1672,7 @@ void JIT::emitSlow_op_get_argument_by_val(Instruction* currentInstruction, Vecto
     JITStubCall stubCall(this, cti_op_get_by_val);
     stubCall.addArgument(arguments);
     stubCall.addArgument(property);
-    stubCall.call(dst);
+    stubCall.callWithValueProfiling(dst);
 }
 
 } // namespace JSC
index b13e84b..afa56a1 100644 (file)
@@ -987,7 +987,7 @@ LLINT_SLOW_PATH_DECL(slow_path_get_argument_by_val)
         exec->uncheckedR(unmodifiedArgumentsRegister(pc[2].u.operand)) = arguments;
     }
     
-    LLINT_RETURN(getByVal(exec, arguments, LLINT_OP_C(3).jsValue()));
+    LLINT_RETURN_PROFILED(op_get_argument_by_val, getByVal(exec, arguments, LLINT_OP_C(3).jsValue()));
 }
 
 LLINT_SLOW_PATH_DECL(slow_path_get_by_pname)