Index: src/mips/builtins-mips.cc |
diff --git a/src/mips/builtins-mips.cc b/src/mips/builtins-mips.cc |
index 95329389e1cc9ff4aa537f8bdfe1bdaa4f043b41..b4bab8efef5af8df2699c547de8f5484b173634c 100644 |
--- a/src/mips/builtins-mips.cc |
+++ b/src/mips/builtins-mips.cc |
@@ -33,6 +33,8 @@ |
#include "codegen-inl.h" |
#include "debug.h" |
+#include "deoptimizer.h" |
+#include "full-codegen.h" |
#include "runtime.h" |
namespace v8 { |
@@ -59,126 +61,68 @@ void Builtins::Generate_ArrayConstructCode(MacroAssembler* masm) { |
} |
+void Builtins::Generate_StringConstructCode(MacroAssembler* masm) { |
+ UNIMPLEMENTED_MIPS(); |
+} |
+ |
+ |
void Builtins::Generate_JSConstructCall(MacroAssembler* masm) { |
UNIMPLEMENTED_MIPS(); |
} |
-void Builtins::Generate_JSConstructStubGeneric(MacroAssembler* masm) { |
+void Builtins::Generate_JSConstructStubCountdown(MacroAssembler* masm) { |
UNIMPLEMENTED_MIPS(); |
} |
-void Builtins::Generate_JSConstructStubApi(MacroAssembler* masm) { |
+void Builtins::Generate_JSConstructStubGeneric(MacroAssembler* masm) { |
UNIMPLEMENTED_MIPS(); |
} |
-static void Generate_JSEntryTrampolineHelper(MacroAssembler* masm, |
- bool is_construct) { |
- // Called from JSEntryStub::GenerateBody |
- |
- // Registers: |
- // a0: entry_address |
- // a1: function |
- // a2: reveiver_pointer |
- // a3: argc |
- // s0: argv |
- // |
- // Stack: |
- // arguments slots |
- // handler frame |
- // entry frame |
- // callee saved registers + ra |
- // 4 args slots |
- // args |
- |
- // Clear the context before we push it when entering the JS frame. |
- __ li(cp, Operand(0, RelocInfo::NONE)); |
- |
- // Enter an internal frame. |
- __ EnterInternalFrame(); |
- |
- // Set up the context from the function argument. |
- __ lw(cp, FieldMemOperand(a1, JSFunction::kContextOffset)); |
- |
- // Set up the roots register. |
- ExternalReference roots_address = ExternalReference::roots_address(); |
- __ li(s6, Operand(roots_address)); |
- |
- // Push the function and the receiver onto the stack. |
- __ MultiPushReversed(a1.bit() | a2.bit()); |
- |
- // Copy arguments to the stack in a loop. |
- // a3: argc |
- // s0: argv, ie points to first arg |
- Label loop, entry; |
- __ sll(t0, a3, kPointerSizeLog2); |
- __ add(t2, s0, t0); |
- __ b(&entry); |
- __ nop(); // Branch delay slot nop. |
- // t2 points past last arg. |
- __ bind(&loop); |
- __ lw(t0, MemOperand(s0)); // Read next parameter. |
- __ addiu(s0, s0, kPointerSize); |
- __ lw(t0, MemOperand(t0)); // Dereference handle. |
- __ Push(t0); // Push parameter. |
- __ bind(&entry); |
- __ Branch(ne, &loop, s0, Operand(t2)); |
- |
- // Registers: |
- // a0: entry_address |
- // a1: function |
- // a2: reveiver_pointer |
- // a3: argc |
- // s0: argv |
- // s6: roots_address |
- // |
- // Stack: |
- // arguments |
- // receiver |
- // function |
- // arguments slots |
- // handler frame |
- // entry frame |
- // callee saved registers + ra |
- // 4 args slots |
- // args |
- |
- // Initialize all JavaScript callee-saved registers, since they will be seen |
- // by the garbage collector as part of handlers. |
- __ LoadRoot(t4, Heap::kUndefinedValueRootIndex); |
- __ mov(s1, t4); |
- __ mov(s2, t4); |
- __ mov(s3, t4); |
- __ mov(s4, s4); |
- __ mov(s5, t4); |
- // s6 holds the root address. Do not clobber. |
- // s7 is cp. Do not init. |
- |
- // Invoke the code and pass argc as a0. |
- __ mov(a0, a3); |
- if (is_construct) { |
- UNIMPLEMENTED_MIPS(); |
- __ break_(0x164); |
- } else { |
- ParameterCount actual(a0); |
- __ InvokeFunction(a1, actual, CALL_FUNCTION); |
- } |
- |
- __ LeaveInternalFrame(); |
- |
- __ Jump(ra); |
+void Builtins::Generate_JSConstructStubApi(MacroAssembler* masm) { |
+ UNIMPLEMENTED_MIPS(); |
} |
void Builtins::Generate_JSEntryTrampoline(MacroAssembler* masm) { |
- Generate_JSEntryTrampolineHelper(masm, false); |
+ UNIMPLEMENTED_MIPS(); |
} |
void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) { |
- Generate_JSEntryTrampolineHelper(masm, true); |
+ UNIMPLEMENTED_MIPS(); |
+} |
+ |
+ |
+void Builtins::Generate_LazyCompile(MacroAssembler* masm) { |
+ UNIMPLEMENTED_MIPS(); |
+} |
+ |
+ |
+void Builtins::Generate_LazyRecompile(MacroAssembler* masm) { |
+ UNIMPLEMENTED_MIPS(); |
+} |
+ |
+ |
+void Builtins::Generate_NotifyDeoptimized(MacroAssembler* masm) { |
+ UNIMPLEMENTED_MIPS(); |
+} |
+ |
+ |
+void Builtins::Generate_NotifyLazyDeoptimized(MacroAssembler* masm) { |
+ UNIMPLEMENTED_MIPS(); |
+} |
+ |
+ |
+void Builtins::Generate_NotifyOSR(MacroAssembler* masm) { |
+ UNIMPLEMENTED_MIPS(); |
+} |
+ |
+ |
+void Builtins::Generate_OnStackReplacement(MacroAssembler* masm) { |
+ UNIMPLEMENTED_MIPS(); |
} |
@@ -194,7 +138,6 @@ void Builtins::Generate_FunctionApply(MacroAssembler* masm) { |
void Builtins::Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm) { |
UNIMPLEMENTED_MIPS(); |
- __ break_(0x201); |
} |