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 1127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1138 InvokeFlag flag, | 1138 InvokeFlag flag, |
1139 const CallWrapper& call_wrapper = NullCallWrapper()); | 1139 const CallWrapper& call_wrapper = NullCallWrapper()); |
1140 | 1140 |
1141 // Store the code object for the given builtin in the target register and | 1141 // Store the code object for the given builtin in the target register and |
1142 // setup the function in r1. | 1142 // setup the function in r1. |
1143 void GetBuiltinEntry(Register target, Builtins::JavaScript id); | 1143 void GetBuiltinEntry(Register target, Builtins::JavaScript id); |
1144 | 1144 |
1145 // Store the function for the given builtin in the target register. | 1145 // Store the function for the given builtin in the target register. |
1146 void GetBuiltinFunction(Register target, Builtins::JavaScript id); | 1146 void GetBuiltinFunction(Register target, Builtins::JavaScript id); |
1147 | 1147 |
| 1148 void BranchIfNotBuiltin(Register function, Register temp, |
| 1149 BuiltinFunctionId id, Label* miss); |
| 1150 |
1148 Handle<Object> CodeObject() { | 1151 Handle<Object> CodeObject() { |
1149 DCHECK(!code_object_.is_null()); | 1152 DCHECK(!code_object_.is_null()); |
1150 return code_object_; | 1153 return code_object_; |
1151 } | 1154 } |
1152 | 1155 |
1153 | 1156 |
1154 // Emit code for a truncating division by a constant. The dividend register is | 1157 // Emit code for a truncating division by a constant. The dividend register is |
1155 // unchanged and ip gets clobbered. Dividend and result must be different. | 1158 // unchanged and ip gets clobbered. Dividend and result must be different. |
1156 void TruncatingDiv(Register result, Register dividend, int32_t divisor); | 1159 void TruncatingDiv(Register result, Register dividend, int32_t divisor); |
1157 | 1160 |
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1553 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1556 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1554 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1557 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1555 #else | 1558 #else |
1556 #define ACCESS_MASM(masm) masm-> | 1559 #define ACCESS_MASM(masm) masm-> |
1557 #endif | 1560 #endif |
1558 | 1561 |
1559 | 1562 |
1560 } } // namespace v8::internal | 1563 } } // namespace v8::internal |
1561 | 1564 |
1562 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1565 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
OLD | NEW |