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 #ifndef V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 5 #ifndef V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/globals.h" | 9 #include "src/globals.h" |
10 #include "src/mips64/assembler-mips64.h" | 10 #include "src/mips64/assembler-mips64.h" |
(...skipping 1036 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1047 | 1047 |
1048 void InitializeRootRegister() { | 1048 void InitializeRootRegister() { |
1049 ExternalReference roots_array_start = | 1049 ExternalReference roots_array_start = |
1050 ExternalReference::roots_array_start(isolate()); | 1050 ExternalReference::roots_array_start(isolate()); |
1051 li(kRootRegister, Operand(roots_array_start)); | 1051 li(kRootRegister, Operand(roots_array_start)); |
1052 } | 1052 } |
1053 | 1053 |
1054 // ------------------------------------------------------------------------- | 1054 // ------------------------------------------------------------------------- |
1055 // JavaScript invokes. | 1055 // JavaScript invokes. |
1056 | 1056 |
| 1057 // Removes current frame and its arguments from the stack preserving |
| 1058 // the arguments and a return address pushed to the stack for the next call. |
| 1059 // Both |callee_args_count| and |caller_args_count_reg| do not include |
| 1060 // receiver. |callee_args_count| is not modified, |caller_args_count_reg| |
| 1061 // is trashed. |
| 1062 void PrepareForTailCall(const ParameterCount& callee_args_count, |
| 1063 Register caller_args_count_reg, Register scratch0, |
| 1064 Register scratch1); |
| 1065 |
1057 // Invoke the JavaScript function code by either calling or jumping. | 1066 // Invoke the JavaScript function code by either calling or jumping. |
1058 void InvokeFunctionCode(Register function, Register new_target, | 1067 void InvokeFunctionCode(Register function, Register new_target, |
1059 const ParameterCount& expected, | 1068 const ParameterCount& expected, |
1060 const ParameterCount& actual, InvokeFlag flag, | 1069 const ParameterCount& actual, InvokeFlag flag, |
1061 const CallWrapper& call_wrapper); | 1070 const CallWrapper& call_wrapper); |
1062 | 1071 |
1063 void FloodFunctionIfStepping(Register fun, Register new_target, | 1072 void FloodFunctionIfStepping(Register fun, Register new_target, |
1064 const ParameterCount& expected, | 1073 const ParameterCount& expected, |
1065 const ParameterCount& actual); | 1074 const ParameterCount& actual); |
1066 | 1075 |
(...skipping 897 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1964 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1973 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1965 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1974 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1966 #else | 1975 #else |
1967 #define ACCESS_MASM(masm) masm-> | 1976 #define ACCESS_MASM(masm) masm-> |
1968 #endif | 1977 #endif |
1969 | 1978 |
1970 } // namespace internal | 1979 } // namespace internal |
1971 } // namespace v8 | 1980 } // namespace v8 |
1972 | 1981 |
1973 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1982 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
OLD | NEW |