| Index: src/mips/codegen-mips.cc
|
| ===================================================================
|
| --- src/mips/codegen-mips.cc (revision 3964)
|
| +++ src/mips/codegen-mips.cc (working copy)
|
| @@ -81,7 +81,7 @@
|
| // a1: called JS function
|
| // cp: callee's context
|
|
|
| -void CodeGenerator::Generate(CompilationInfo* info, Mode mode) {
|
| +void CodeGenerator::Generate(CompilationInfo* infomode) {
|
| UNIMPLEMENTED_MIPS();
|
| }
|
|
|
| @@ -292,6 +292,16 @@
|
| }
|
|
|
|
|
| +void CodeGenerator::GenerateMathPow(ZoneList<Expression*>* args) {
|
| + UNIMPLEMENTED_MIPS();
|
| +}
|
| +
|
| +
|
| +void CodeGenerator::GenerateMathSqrt(ZoneList<Expression*>* args) {
|
| + UNIMPLEMENTED_MIPS();
|
| +}
|
| +
|
| +
|
| // This should generate code that performs a charCodeAt() call or returns
|
| // undefined in order to trigger the slow case, Runtime_StringCharCodeAt.
|
| // It is not yet implemented on ARM, so it always goes to the slow case.
|
| @@ -300,6 +310,11 @@
|
| }
|
|
|
|
|
| +void CodeGenerator::GenerateCharFromCode(ZoneList<Expression*>* args) {
|
| + UNIMPLEMENTED_MIPS();
|
| +}
|
| +
|
| +
|
| void CodeGenerator::GenerateIsArray(ZoneList<Expression*>* args) {
|
| UNIMPLEMENTED_MIPS();
|
| }
|
| @@ -457,6 +472,34 @@
|
|
|
| void JSEntryStub::GenerateBody(MacroAssembler* masm, bool is_construct) {
|
| UNIMPLEMENTED_MIPS();
|
| +
|
| + // Save callee saved registers on the stack.
|
| + __ MultiPush(kCalleeSaved | ra.bit());
|
| +
|
| + // ********** State **********
|
| + //
|
| + // * Registers:
|
| + // a0: entry_address
|
| + // a1: function
|
| + // a2: reveiver_pointer
|
| + // a3: argc
|
| + //
|
| + // * Stack:
|
| + // ---------------------------
|
| + // args
|
| + // ---------------------------
|
| + // 4 args slots
|
| + // ---------------------------
|
| + // callee saved registers + ra
|
| + // ---------------------------
|
| + //
|
| + // ***************************
|
| +
|
| + __ break_(0x1234);
|
| +
|
| + // Restore callee saved registers from the stack.
|
| + __ MultiPop(kCalleeSaved | ra.bit());
|
| +
|
| // Load a result.
|
| __ li(v0, Operand(0x1234));
|
| __ jr(ra);
|
|
|