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