OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 1026 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1037 | 1037 |
1038 // Call a code stub. | 1038 // Call a code stub. |
1039 void CallStub(CodeStub* stub, | 1039 void CallStub(CodeStub* stub, |
1040 TypeFeedbackId ast_id = TypeFeedbackId::None(), | 1040 TypeFeedbackId ast_id = TypeFeedbackId::None(), |
1041 Condition cond = al); | 1041 Condition cond = al); |
1042 | 1042 |
1043 // Call a code stub. | 1043 // Call a code stub. |
1044 void TailCallStub(CodeStub* stub, Condition cond = al); | 1044 void TailCallStub(CodeStub* stub, Condition cond = al); |
1045 | 1045 |
1046 // Call a runtime routine. | 1046 // Call a runtime routine. |
1047 void CallRuntime(const Runtime::Function* f, int num_arguments); | 1047 void CallRuntime(const Runtime::Function* f, |
1048 void CallRuntimeSaveDoubles(Runtime::FunctionId id); | 1048 int num_arguments, |
| 1049 SaveFPRegsMode save_doubles = kDontSaveFPRegs); |
| 1050 void CallRuntimeSaveDoubles(Runtime::FunctionId id) { |
| 1051 const Runtime::Function* function = Runtime::FunctionForId(id); |
| 1052 CallRuntime(function, function->nargs, kSaveFPRegs); |
| 1053 } |
1049 | 1054 |
1050 // Convenience function: Same as above, but takes the fid instead. | 1055 // Convenience function: Same as above, but takes the fid instead. |
1051 void CallRuntime(Runtime::FunctionId fid, int num_arguments); | 1056 void CallRuntime(Runtime::FunctionId id, int num_arguments) { |
| 1057 CallRuntime(Runtime::FunctionForId(id), num_arguments); |
| 1058 } |
1052 | 1059 |
1053 // Convenience function: call an external reference. | 1060 // Convenience function: call an external reference. |
1054 void CallExternalReference(const ExternalReference& ext, | 1061 void CallExternalReference(const ExternalReference& ext, |
1055 int num_arguments); | 1062 int num_arguments); |
1056 | 1063 |
1057 // Tail call of a runtime routine (jump). | 1064 // Tail call of a runtime routine (jump). |
1058 // Like JumpToExternalReference, but also takes care of passing the number | 1065 // Like JumpToExternalReference, but also takes care of passing the number |
1059 // of parameters. | 1066 // of parameters. |
1060 void TailCallExternalReference(const ExternalReference& ext, | 1067 void TailCallExternalReference(const ExternalReference& ext, |
1061 int num_arguments, | 1068 int num_arguments, |
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1499 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1506 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1500 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1507 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1501 #else | 1508 #else |
1502 #define ACCESS_MASM(masm) masm-> | 1509 #define ACCESS_MASM(masm) masm-> |
1503 #endif | 1510 #endif |
1504 | 1511 |
1505 | 1512 |
1506 } } // namespace v8::internal | 1513 } } // namespace v8::internal |
1507 | 1514 |
1508 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1515 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
OLD | NEW |