Revision: 14961
Author: [email protected]
Date: Wed Jun 5 10:52:44 2013
Log: MIPS: Add LoadIC_Slow builtin and use it for loading properties
from primitive values.
Port r14950 (12748bb)
Original commit message:
This fixes recent performance regressions on Dromaeo.
BUG=chromium:242512
Review URL: https://codereview.chromium.org/16452011
Patch from Balazs Kilvady <[email protected]>.
http://code.google.com/p/v8/source/detail?r=14961
Modified:
/branches/bleeding_edge/src/mips/ic-mips.cc
=======================================
--- /branches/bleeding_edge/src/mips/ic-mips.cc Fri May 10 15:47:49 2013
+++ /branches/bleeding_edge/src/mips/ic-mips.cc Wed Jun 5 10:52:44 2013
@@ -646,9 +646,6 @@
}
-// Defined in ic.cc.
-Object* LoadIC_Miss(Arguments args);
-
void LoadIC::GenerateMegamorphic(MacroAssembler* masm) {
// ----------- S t a t e -------------
// -- a2 : name
@@ -708,6 +705,21 @@
ExternalReference ref = ExternalReference(IC_Utility(kLoadIC_Miss),
isolate);
__ TailCallExternalReference(ref, 2, 1);
}
+
+
+void LoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) {
+ // ---------- S t a t e --------------
+ // -- a2 : name
+ // -- ra : return address
+ // -- a0 : receiver
+ // -- sp[0] : receiver
+ // -----------------------------------
+
+ __ mov(a3, a0);
+ __ Push(a3, a2);
+
+ __ TailCallRuntime(Runtime::kGetProperty, 2, 1);
+}
static MemOperand GenerateMappedArgumentsLookup(MacroAssembler* masm,
@@ -881,9 +893,6 @@
__ bind(&slow);
GenerateMiss(masm, argc);
}
-
-
-Object* KeyedLoadIC_Miss(Arguments args);
void KeyedLoadIC::GenerateMiss(MacroAssembler* masm, ICMissMode miss_mode)
{
--
--
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/groups/opt_out.