OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_PPC_MACRO_ASSEMBLER_PPC_H_ | 5 #ifndef V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 6 #define V8_PPC_MACRO_ASSEMBLER_PPC_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 964 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
975 int num_double_arguments); | 975 int num_double_arguments); |
976 void CallCFunction(Register function, int num_reg_arguments, | 976 void CallCFunction(Register function, int num_reg_arguments, |
977 int num_double_arguments); | 977 int num_double_arguments); |
978 | 978 |
979 void MovFromFloatParameter(DoubleRegister dst); | 979 void MovFromFloatParameter(DoubleRegister dst); |
980 void MovFromFloatResult(DoubleRegister dst); | 980 void MovFromFloatResult(DoubleRegister dst); |
981 | 981 |
982 // Jump to a runtime routine. | 982 // Jump to a runtime routine. |
983 void JumpToExternalReference(const ExternalReference& builtin); | 983 void JumpToExternalReference(const ExternalReference& builtin); |
984 | 984 |
985 // Invoke specified builtin JavaScript function. Adds an entry to | 985 // Invoke specified builtin JavaScript function. |
986 // the unresolved list if the name does not resolve. | 986 void InvokeBuiltin(int native_context_index, InvokeFlag flag, |
987 void InvokeBuiltin(Builtins::JavaScript id, InvokeFlag flag, | |
988 const CallWrapper& call_wrapper = NullCallWrapper()); | 987 const CallWrapper& call_wrapper = NullCallWrapper()); |
989 | 988 |
990 // Store the code object for the given builtin in the target register and | 989 // Store the code object for the given builtin in the target register and |
991 // setup the function in r1. | 990 // setup the function in r1. |
992 void GetBuiltinEntry(Register target, Builtins::JavaScript id); | 991 void GetBuiltinEntry(Register target, int native_context_index); |
993 | 992 |
994 // Store the function for the given builtin in the target register. | 993 // Store the function for the given builtin in the target register. |
995 void GetBuiltinFunction(Register target, Builtins::JavaScript id); | 994 void GetBuiltinFunction(Register target, int native_context_index); |
996 | 995 |
997 Handle<Object> CodeObject() { | 996 Handle<Object> CodeObject() { |
998 DCHECK(!code_object_.is_null()); | 997 DCHECK(!code_object_.is_null()); |
999 return code_object_; | 998 return code_object_; |
1000 } | 999 } |
1001 | 1000 |
1002 | 1001 |
1003 // Emit code for a truncating division by a constant. The dividend register is | 1002 // Emit code for a truncating division by a constant. The dividend register is |
1004 // unchanged and ip gets clobbered. Dividend and result must be different. | 1003 // unchanged and ip gets clobbered. Dividend and result must be different. |
1005 void TruncatingDiv(Register result, Register dividend, int32_t divisor); | 1004 void TruncatingDiv(Register result, Register dividend, int32_t divisor); |
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1578 #define ACCESS_MASM(masm) \ | 1577 #define ACCESS_MASM(masm) \ |
1579 masm->stop(__FILE_LINE__); \ | 1578 masm->stop(__FILE_LINE__); \ |
1580 masm-> | 1579 masm-> |
1581 #else | 1580 #else |
1582 #define ACCESS_MASM(masm) masm-> | 1581 #define ACCESS_MASM(masm) masm-> |
1583 #endif | 1582 #endif |
1584 } | 1583 } |
1585 } // namespace v8::internal | 1584 } // namespace v8::internal |
1586 | 1585 |
1587 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 1586 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
OLD | NEW |