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/mips/assembler-mips.h" | 10 #include "src/mips/assembler-mips.h" |
(...skipping 1203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1214 COND_ARGS); | 1214 COND_ARGS); |
1215 | 1215 |
1216 // Tail call a code stub (jump). | 1216 // Tail call a code stub (jump). |
1217 void TailCallStub(CodeStub* stub, COND_ARGS); | 1217 void TailCallStub(CodeStub* stub, COND_ARGS); |
1218 | 1218 |
1219 #undef COND_ARGS | 1219 #undef COND_ARGS |
1220 | 1220 |
1221 void CallJSExitStub(CodeStub* stub); | 1221 void CallJSExitStub(CodeStub* stub); |
1222 | 1222 |
1223 // Call a runtime routine. | 1223 // Call a runtime routine. |
1224 void CallRuntime(const Runtime::Function* f, | 1224 void CallRuntime(const Runtime::Function* f, int num_arguments, |
1225 int num_arguments, | 1225 SaveFPRegsMode save_doubles = kDontSaveFPRegs, |
1226 SaveFPRegsMode save_doubles = kDontSaveFPRegs); | 1226 BranchDelaySlot bd = PROTECT); |
1227 void CallRuntimeSaveDoubles(Runtime::FunctionId id) { | 1227 void CallRuntimeSaveDoubles(Runtime::FunctionId id) { |
1228 const Runtime::Function* function = Runtime::FunctionForId(id); | 1228 const Runtime::Function* function = Runtime::FunctionForId(id); |
1229 CallRuntime(function, function->nargs, kSaveFPRegs); | 1229 CallRuntime(function, function->nargs, kSaveFPRegs); |
1230 } | 1230 } |
1231 | 1231 |
1232 // Convenience function: Same as above, but takes the fid instead. | 1232 // Convenience function: Same as above, but takes the fid instead. |
1233 void CallRuntime(Runtime::FunctionId id, | 1233 void CallRuntime(Runtime::FunctionId id, int num_arguments, |
1234 int num_arguments, | 1234 SaveFPRegsMode save_doubles = kDontSaveFPRegs, |
1235 SaveFPRegsMode save_doubles = kDontSaveFPRegs) { | 1235 BranchDelaySlot bd = PROTECT) { |
1236 CallRuntime(Runtime::FunctionForId(id), num_arguments, save_doubles); | 1236 CallRuntime(Runtime::FunctionForId(id), num_arguments, save_doubles, bd); |
1237 } | 1237 } |
1238 | 1238 |
1239 // Convenience function: call an external reference. | 1239 // Convenience function: call an external reference. |
1240 void CallExternalReference(const ExternalReference& ext, | 1240 void CallExternalReference(const ExternalReference& ext, |
1241 int num_arguments, | 1241 int num_arguments, |
1242 BranchDelaySlot bd = PROTECT); | 1242 BranchDelaySlot bd = PROTECT); |
1243 | 1243 |
1244 // Tail call of a runtime routine (jump). | 1244 // Tail call of a runtime routine (jump). |
1245 // Like JumpToExternalReference, but also takes care of passing the number | 1245 // Like JumpToExternalReference, but also takes care of passing the number |
1246 // of parameters. | 1246 // of parameters. |
(...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1732 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 1732 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
1733 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1733 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1734 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1734 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1735 #else | 1735 #else |
1736 #define ACCESS_MASM(masm) masm-> | 1736 #define ACCESS_MASM(masm) masm-> |
1737 #endif | 1737 #endif |
1738 | 1738 |
1739 } } // namespace v8::internal | 1739 } } // namespace v8::internal |
1740 | 1740 |
1741 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1741 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
OLD | NEW |