| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #if V8_TARGET_ARCH_MIPS | 5 #if V8_TARGET_ARCH_MIPS |
| 6 | 6 |
| 7 #include "src/codegen.h" | 7 #include "src/codegen.h" |
| 8 #include "src/debug/debug.h" | 8 #include "src/debug/debug.h" |
| 9 #include "src/deoptimizer.h" | 9 #include "src/deoptimizer.h" |
| 10 #include "src/full-codegen/full-codegen.h" | 10 #include "src/full-codegen/full-codegen.h" |
| 11 #include "src/interpreter/bytecodes.h" | |
| 12 #include "src/runtime/runtime.h" | 11 #include "src/runtime/runtime.h" |
| 13 | 12 |
| 14 | 13 |
| 15 namespace v8 { | 14 namespace v8 { |
| 16 namespace internal { | 15 namespace internal { |
| 17 | 16 |
| 18 | 17 |
| 19 #define __ ACCESS_MASM(masm) | 18 #define __ ACCESS_MASM(masm) |
| 20 | 19 |
| 21 | 20 |
| (...skipping 967 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 989 // TODO(rmcilroy): List of things not currently dealt with here but done in | 988 // TODO(rmcilroy): List of things not currently dealt with here but done in |
| 990 // fullcodegen's EmitReturnSequence. | 989 // fullcodegen's EmitReturnSequence. |
| 991 // - Supporting FLAG_trace for Runtime::TraceExit. | 990 // - Supporting FLAG_trace for Runtime::TraceExit. |
| 992 // - Support profiler (specifically decrementing profiling_counter | 991 // - Support profiler (specifically decrementing profiling_counter |
| 993 // appropriately and calling out to HandleInterrupts if necessary). | 992 // appropriately and calling out to HandleInterrupts if necessary). |
| 994 | 993 |
| 995 // The return value is in accumulator, which is already in v0. | 994 // The return value is in accumulator, which is already in v0. |
| 996 | 995 |
| 997 // Leave the frame (also dropping the register file). | 996 // Leave the frame (also dropping the register file). |
| 998 __ LeaveFrame(StackFrame::JAVA_SCRIPT); | 997 __ LeaveFrame(StackFrame::JAVA_SCRIPT); |
| 999 // Drop receiver + arguments. | 998 |
| 1000 __ Drop(1); // TODO(rmcilroy): Get number of arguments from BytecodeArray. | 999 // Drop receiver + arguments and return. |
| 1000 __ lw(at, FieldMemOperand(kInterpreterBytecodeArrayRegister, |
| 1001 BytecodeArray::kParameterSizeOffset)); |
| 1002 __ Addu(sp, sp, at); |
| 1001 __ Jump(ra); | 1003 __ Jump(ra); |
| 1002 } | 1004 } |
| 1003 | 1005 |
| 1004 | 1006 |
| 1005 void Builtins::Generate_CompileLazy(MacroAssembler* masm) { | 1007 void Builtins::Generate_CompileLazy(MacroAssembler* masm) { |
| 1006 CallRuntimePassFunction(masm, Runtime::kCompileLazy); | 1008 CallRuntimePassFunction(masm, Runtime::kCompileLazy); |
| 1007 GenerateTailCallToReturnedCode(masm); | 1009 GenerateTailCallToReturnedCode(masm); |
| 1008 } | 1010 } |
| 1009 | 1011 |
| 1010 | 1012 |
| (...skipping 865 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1876 } | 1878 } |
| 1877 } | 1879 } |
| 1878 | 1880 |
| 1879 | 1881 |
| 1880 #undef __ | 1882 #undef __ |
| 1881 | 1883 |
| 1882 } // namespace internal | 1884 } // namespace internal |
| 1883 } // namespace v8 | 1885 } // namespace v8 |
| 1884 | 1886 |
| 1885 #endif // V8_TARGET_ARCH_MIPS | 1887 #endif // V8_TARGET_ARCH_MIPS |
| OLD | NEW |