| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 #if V8_TARGET_ARCH_ARM64 | 5 #if V8_TARGET_ARCH_ARM64 |
| 6 | 6 |
| 7 #include "src/arm64/frames-arm64.h" | 7 #include "src/arm64/frames-arm64.h" |
| 8 #include "src/codegen.h" | 8 #include "src/codegen.h" |
| 9 #include "src/debug/debug.h" | 9 #include "src/debug/debug.h" |
| 10 #include "src/deoptimizer.h" | 10 #include "src/deoptimizer.h" |
| (...skipping 1070 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1081 | 1081 |
| 1082 | 1082 |
| 1083 static void Generate_EnterBytecodeDispatch(MacroAssembler* masm) { | 1083 static void Generate_EnterBytecodeDispatch(MacroAssembler* masm) { |
| 1084 // Initialize register file register and dispatch table register. | 1084 // Initialize register file register and dispatch table register. |
| 1085 __ Add(kInterpreterRegisterFileRegister, fp, | 1085 __ Add(kInterpreterRegisterFileRegister, fp, |
| 1086 Operand(InterpreterFrameConstants::kRegisterFilePointerFromFp)); | 1086 Operand(InterpreterFrameConstants::kRegisterFilePointerFromFp)); |
| 1087 __ Mov(kInterpreterDispatchTableRegister, | 1087 __ Mov(kInterpreterDispatchTableRegister, |
| 1088 Operand(ExternalReference::interpreter_dispatch_table_address( | 1088 Operand(ExternalReference::interpreter_dispatch_table_address( |
| 1089 masm->isolate()))); | 1089 masm->isolate()))); |
| 1090 | 1090 |
| 1091 // Get the context from the frame. | |
| 1092 __ Ldr(kContextRegister, | |
| 1093 MemOperand(kInterpreterRegisterFileRegister, | |
| 1094 InterpreterFrameConstants::kContextFromRegisterPointer)); | |
| 1095 | |
| 1096 // Get the bytecode array pointer from the frame. | 1091 // Get the bytecode array pointer from the frame. |
| 1097 __ Ldr( | 1092 __ Ldr( |
| 1098 kInterpreterBytecodeArrayRegister, | 1093 kInterpreterBytecodeArrayRegister, |
| 1099 MemOperand(kInterpreterRegisterFileRegister, | 1094 MemOperand(kInterpreterRegisterFileRegister, |
| 1100 InterpreterFrameConstants::kBytecodeArrayFromRegisterPointer)); | 1095 InterpreterFrameConstants::kBytecodeArrayFromRegisterPointer)); |
| 1101 | 1096 |
| 1102 if (FLAG_debug_code) { | 1097 if (FLAG_debug_code) { |
| 1103 // Check function data field is actually a BytecodeArray object. | 1098 // Check function data field is actually a BytecodeArray object. |
| 1104 __ AssertNotSmi(kInterpreterBytecodeArrayRegister, | 1099 __ AssertNotSmi(kInterpreterBytecodeArrayRegister, |
| 1105 kFunctionDataShouldBeBytecodeArrayOnInterpreterEntry); | 1100 kFunctionDataShouldBeBytecodeArrayOnInterpreterEntry); |
| (...skipping 1648 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2754 } | 2749 } |
| 2755 } | 2750 } |
| 2756 | 2751 |
| 2757 | 2752 |
| 2758 #undef __ | 2753 #undef __ |
| 2759 | 2754 |
| 2760 } // namespace internal | 2755 } // namespace internal |
| 2761 } // namespace v8 | 2756 } // namespace v8 |
| 2762 | 2757 |
| 2763 #endif // V8_TARGET_ARCH_ARM | 2758 #endif // V8_TARGET_ARCH_ARM |
| OLD | NEW |