Commit b8714d72 authored by palfia@homejinni.com's avatar palfia@homejinni.com

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 <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 8bd4199f
......@@ -646,9 +646,6 @@ void KeyedCallIC::GenerateNormal(MacroAssembler* masm, int argc) {
}
// Defined in ic.cc.
Object* LoadIC_Miss(Arguments args);
void LoadIC::GenerateMegamorphic(MacroAssembler* masm) {
// ----------- S t a t e -------------
// -- a2 : name
......@@ -710,6 +707,21 @@ void LoadIC::GenerateMiss(MacroAssembler* masm) {
}
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,
Register object,
Register key,
......@@ -883,9 +895,6 @@ void KeyedCallIC::GenerateNonStrictArguments(MacroAssembler* masm,
}
Object* KeyedLoadIC_Miss(Arguments args);
void KeyedLoadIC::GenerateMiss(MacroAssembler* masm, ICMissMode miss_mode) {
// ---------- S t a t e --------------
// -- ra : return address
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment