OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 1029 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1040 void CallRuntime(const Runtime::Function* f, | 1040 void CallRuntime(const Runtime::Function* f, |
1041 int num_arguments, | 1041 int num_arguments, |
1042 SaveFPRegsMode save_doubles = kDontSaveFPRegs); | 1042 SaveFPRegsMode save_doubles = kDontSaveFPRegs); |
1043 | 1043 |
1044 void CallRuntime(Runtime::FunctionId id, | 1044 void CallRuntime(Runtime::FunctionId id, |
1045 int num_arguments, | 1045 int num_arguments, |
1046 SaveFPRegsMode save_doubles = kDontSaveFPRegs) { | 1046 SaveFPRegsMode save_doubles = kDontSaveFPRegs) { |
1047 CallRuntime(Runtime::FunctionForId(id), num_arguments, save_doubles); | 1047 CallRuntime(Runtime::FunctionForId(id), num_arguments, save_doubles); |
1048 } | 1048 } |
1049 | 1049 |
1050 // TODO(all): Why does this variant save FP regs unconditionally? | |
1051 void CallRuntimeSaveDoubles(Runtime::FunctionId id) { | 1050 void CallRuntimeSaveDoubles(Runtime::FunctionId id) { |
1052 const Runtime::Function* function = Runtime::FunctionForId(id); | 1051 const Runtime::Function* function = Runtime::FunctionForId(id); |
1053 CallRuntime(function, function->nargs, kSaveFPRegs); | 1052 CallRuntime(function, function->nargs, kSaveFPRegs); |
1054 } | 1053 } |
1055 | 1054 |
1056 void TailCallRuntime(Runtime::FunctionId fid, | 1055 void TailCallRuntime(Runtime::FunctionId fid, |
1057 int num_arguments, | 1056 int num_arguments, |
1058 int result_size); | 1057 int result_size); |
1059 | 1058 |
1060 int ActivationFrameAlignment(); | 1059 int ActivationFrameAlignment(); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1103 int num_arguments); | 1102 int num_arguments); |
1104 | 1103 |
1105 | 1104 |
1106 // Invoke specified builtin JavaScript function. Adds an entry to | 1105 // Invoke specified builtin JavaScript function. Adds an entry to |
1107 // the unresolved list if the name does not resolve. | 1106 // the unresolved list if the name does not resolve. |
1108 void InvokeBuiltin(Builtins::JavaScript id, | 1107 void InvokeBuiltin(Builtins::JavaScript id, |
1109 InvokeFlag flag, | 1108 InvokeFlag flag, |
1110 const CallWrapper& call_wrapper = NullCallWrapper()); | 1109 const CallWrapper& call_wrapper = NullCallWrapper()); |
1111 | 1110 |
1112 // Store the code object for the given builtin in the target register and | 1111 // Store the code object for the given builtin in the target register and |
1113 // setup the function in x1. | 1112 // setup the function in the function register. |
1114 // TODO(all): Can we use another register than x1? | 1113 void GetBuiltinEntry(Register target, |
1115 void GetBuiltinEntry(Register target, Builtins::JavaScript id); | 1114 Register function, |
| 1115 Builtins::JavaScript id); |
1116 | 1116 |
1117 // Store the function for the given builtin in the target register. | 1117 // Store the function for the given builtin in the target register. |
1118 void GetBuiltinFunction(Register target, Builtins::JavaScript id); | 1118 void GetBuiltinFunction(Register target, Builtins::JavaScript id); |
1119 | 1119 |
1120 void Jump(Register target); | 1120 void Jump(Register target); |
1121 void Jump(Address target, RelocInfo::Mode rmode); | 1121 void Jump(Address target, RelocInfo::Mode rmode); |
1122 void Jump(Handle<Code> code, RelocInfo::Mode rmode); | 1122 void Jump(Handle<Code> code, RelocInfo::Mode rmode); |
1123 void Jump(intptr_t target, RelocInfo::Mode rmode); | 1123 void Jump(intptr_t target, RelocInfo::Mode rmode); |
1124 | 1124 |
1125 void Call(Register target); | 1125 void Call(Register target); |
(...skipping 1148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2274 #error "Unsupported option" | 2274 #error "Unsupported option" |
2275 #define CODE_COVERAGE_STRINGIFY(x) #x | 2275 #define CODE_COVERAGE_STRINGIFY(x) #x |
2276 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2276 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
2277 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2277 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
2278 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2278 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
2279 #else | 2279 #else |
2280 #define ACCESS_MASM(masm) masm-> | 2280 #define ACCESS_MASM(masm) masm-> |
2281 #endif | 2281 #endif |
2282 | 2282 |
2283 #endif // V8_A64_MACRO_ASSEMBLER_A64_H_ | 2283 #endif // V8_A64_MACRO_ASSEMBLER_A64_H_ |
OLD | NEW |