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_ARM_MACRO_ASSEMBLER_ARM_H_ | 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/frames.h" | 10 #include "src/frames.h" |
(...skipping 1133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1144 void CallCFunction(Register function, | 1144 void CallCFunction(Register function, |
1145 int num_reg_arguments, | 1145 int num_reg_arguments, |
1146 int num_double_arguments); | 1146 int num_double_arguments); |
1147 | 1147 |
1148 void MovFromFloatParameter(DwVfpRegister dst); | 1148 void MovFromFloatParameter(DwVfpRegister dst); |
1149 void MovFromFloatResult(DwVfpRegister dst); | 1149 void MovFromFloatResult(DwVfpRegister dst); |
1150 | 1150 |
1151 // Jump to a runtime routine. | 1151 // Jump to a runtime routine. |
1152 void JumpToExternalReference(const ExternalReference& builtin); | 1152 void JumpToExternalReference(const ExternalReference& builtin); |
1153 | 1153 |
1154 // Invoke specified builtin JavaScript function. Adds an entry to | 1154 // Invoke specified builtin JavaScript function. |
1155 // the unresolved list if the name does not resolve. | 1155 void InvokeBuiltin(int native_context_index, InvokeFlag flag, |
1156 void InvokeBuiltin(Builtins::JavaScript id, | |
1157 InvokeFlag flag, | |
1158 const CallWrapper& call_wrapper = NullCallWrapper()); | 1156 const CallWrapper& call_wrapper = NullCallWrapper()); |
1159 | 1157 |
1160 // Store the code object for the given builtin in the target register and | 1158 // Store the code object for the given builtin in the target register and |
1161 // setup the function in r1. | 1159 // setup the function in r1. |
1162 void GetBuiltinEntry(Register target, Builtins::JavaScript id); | 1160 void GetBuiltinEntry(Register target, int native_context_index); |
1163 | 1161 |
1164 // Store the function for the given builtin in the target register. | 1162 // Store the function for the given builtin in the target register. |
1165 void GetBuiltinFunction(Register target, Builtins::JavaScript id); | 1163 void GetBuiltinFunction(Register target, int native_context_index); |
1166 | 1164 |
1167 Handle<Object> CodeObject() { | 1165 Handle<Object> CodeObject() { |
1168 DCHECK(!code_object_.is_null()); | 1166 DCHECK(!code_object_.is_null()); |
1169 return code_object_; | 1167 return code_object_; |
1170 } | 1168 } |
1171 | 1169 |
1172 | 1170 |
1173 // Emit code for a truncating division by a constant. The dividend register is | 1171 // Emit code for a truncating division by a constant. The dividend register is |
1174 // unchanged and ip gets clobbered. Dividend and result must be different. | 1172 // unchanged and ip gets clobbered. Dividend and result must be different. |
1175 void TruncatingDiv(Register result, Register dividend, int32_t divisor); | 1173 void TruncatingDiv(Register result, Register dividend, int32_t divisor); |
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1566 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1564 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1567 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1565 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1568 #else | 1566 #else |
1569 #define ACCESS_MASM(masm) masm-> | 1567 #define ACCESS_MASM(masm) masm-> |
1570 #endif | 1568 #endif |
1571 | 1569 |
1572 | 1570 |
1573 } } // namespace v8::internal | 1571 } } // namespace v8::internal |
1574 | 1572 |
1575 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1573 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
OLD | NEW |