Merged r14958, r14959, r14961 into trunk branch.
MIPS: Adapt hydrogen-based Array constructor to also support InternalArray and function call versions.
MIPS: Fix LStoreKeyed error when tracing instruction.
MIPS: Add LoadIC_Slow builtin and use it for loading properties from primitive values.
BUG=chromium:242512
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/16407006
git-svn-id: http://v8.googlecode.com/svn/trunk@14963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/mips/ic-mips.cc b/src/mips/ic-mips.cc
index 8b2b325..a4dc9e4 100644
--- a/src/mips/ic-mips.cc
+++ b/src/mips/ic-mips.cc
@@ -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
@@ -710,6 +707,21 @@
}
+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 @@
}
-Object* KeyedLoadIC_Miss(Arguments args);
-
-
void KeyedLoadIC::GenerateMiss(MacroAssembler* masm, ICMissMode miss_mode) {
// ---------- S t a t e --------------
// -- ra : return address