Reviewers: Weiliang,

Message:
PTAL

Description:
X87: VectorICs: built-in function apply should use an IC.

port 83a0af55009548238a2ff6ef71c3387a49da0a88 (r28165).

original commit message:

   VectorICs: built-in function apply should use an IC.

Handled a TODO that sent builtin function apply to the runtime on property
get.

BUG=

Please review this at https://codereview.chromium.org/1119263002/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+7, -15 lines):
  M src/x87/builtins-x87.cc


Index: src/x87/builtins-x87.cc
diff --git a/src/x87/builtins-x87.cc b/src/x87/builtins-x87.cc
index 75ce6828a32a968625035fd36c3cd734db5033bf..28ead0c6544bbb9b73f3660702d6158128ed8890 100644
--- a/src/x87/builtins-x87.cc
+++ b/src/x87/builtins-x87.cc
@@ -1057,21 +1057,13 @@ static void Generate_PushAppliedArguments(MacroAssembler* masm,
   __ bind(&loop);
   __ mov(receiver, Operand(ebp, argumentsOffset));  // load arguments

-  if (FLAG_vector_ics) {
-    // TODO(mvstanton): Vector-based ics need additional infrastructure to
-    // be embedded here. For now, just call the runtime.
-    __ push(receiver);
-    __ push(key);
-    __ CallRuntime(Runtime::kGetProperty, 2);
-  } else {
-    // Use inline caching to speed up access to arguments.
-    Handle<Code> ic = CodeFactory::KeyedLoadIC(masm->isolate()).code();
-    __ call(ic, RelocInfo::CODE_TARGET);
-    // It is important that we do not have a test instruction after the
-    // call.  A test instruction after the call is used to indicate that
-    // we have generated an inline version of the keyed load.  In this
-    // case, we know that we are not generating a test instruction next.
-  }
+  // Use inline caching to speed up access to arguments.
+  Handle<Code> ic = masm->isolate()->builtins()->KeyedLoadIC_Megamorphic();
+  __ call(ic, RelocInfo::CODE_TARGET);
+  // It is important that we do not have a test instruction after the
+  // call.  A test instruction after the call is used to indicate that
+  // we have generated an inline version of the keyed load.  In this
+  // case, we know that we are not generating a test instruction next.

   // Push the nth argument.
   __ push(eax);


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to