OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 #include "src/interpreter/interpreter-assembler.h" | 5 #include "src/interpreter/interpreter-assembler.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 #include <ostream> | 8 #include <ostream> |
9 | 9 |
10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
(...skipping 971 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
982 Goto(&counter_saturated); | 982 Goto(&counter_saturated); |
983 } | 983 } |
984 | 984 |
985 Bind(&counter_saturated); | 985 Bind(&counter_saturated); |
986 } | 986 } |
987 | 987 |
988 // static | 988 // static |
989 bool InterpreterAssembler::TargetSupportsUnalignedAccess() { | 989 bool InterpreterAssembler::TargetSupportsUnalignedAccess() { |
990 #if V8_TARGET_ARCH_MIPS || V8_TARGET_ARCH_MIPS64 | 990 #if V8_TARGET_ARCH_MIPS || V8_TARGET_ARCH_MIPS64 |
991 return false; | 991 return false; |
992 #elif V8_TARGET_ARCH_PPC | |
993 return CpuFeatures::IsSupported(UNALIGNED_ACCESSES); | |
994 #elif V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_X87 || \ | 992 #elif V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_X87 || \ |
995 V8_TARGET_ARCH_S390 || V8_TARGET_ARCH_ARM || V8_TARGET_ARCH_ARM64 | 993 V8_TARGET_ARCH_S390 || V8_TARGET_ARCH_ARM || V8_TARGET_ARCH_ARM64 || \ |
| 994 V8_TARGET_ARCH_PPC |
996 return true; | 995 return true; |
997 #else | 996 #else |
998 #error "Unknown Architecture" | 997 #error "Unknown Architecture" |
999 #endif | 998 #endif |
1000 } | 999 } |
1001 | 1000 |
1002 Node* InterpreterAssembler::RegisterCount() { | 1001 Node* InterpreterAssembler::RegisterCount() { |
1003 Node* bytecode_array = LoadRegister(Register::bytecode_array()); | 1002 Node* bytecode_array = LoadRegister(Register::bytecode_array()); |
1004 Node* frame_size = LoadObjectField( | 1003 Node* frame_size = LoadObjectField( |
1005 bytecode_array, BytecodeArray::kFrameSizeOffset, MachineType::Int32()); | 1004 bytecode_array, BytecodeArray::kFrameSizeOffset, MachineType::Int32()); |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1073 Goto(&loop); | 1072 Goto(&loop); |
1074 } | 1073 } |
1075 Bind(&done_loop); | 1074 Bind(&done_loop); |
1076 | 1075 |
1077 return array; | 1076 return array; |
1078 } | 1077 } |
1079 | 1078 |
1080 } // namespace interpreter | 1079 } // namespace interpreter |
1081 } // namespace internal | 1080 } // namespace internal |
1082 } // namespace v8 | 1081 } // namespace v8 |
OLD | NEW |