1 // Copyright 2017 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef V8_CODEGEN_REGLIST_H_ 6 #define V8_CODEGEN_REGLIST_H_ 7 8 #if V8_TARGET_ARCH_IA32 9 #include "src/codegen/ia32/reglist-ia32.h" 10 #elif V8_TARGET_ARCH_X64 11 #include "src/codegen/x64/reglist-x64.h" 12 #elif V8_TARGET_ARCH_ARM64 13 #include "src/codegen/arm64/reglist-arm64.h" 14 #elif V8_TARGET_ARCH_ARM 15 #include "src/codegen/arm/reglist-arm.h" 16 #elif V8_TARGET_ARCH_PPC || V8_TARGET_ARCH_PPC64 17 #include "src/codegen/ppc/reglist-ppc.h" 18 #elif V8_TARGET_ARCH_MIPS 19 #include "src/codegen/mips/reglist-mips.h" 20 #elif V8_TARGET_ARCH_MIPS64 21 #include "src/codegen/mips64/reglist-mips64.h" 22 #elif V8_TARGET_ARCH_LOONG64 23 #include "src/codegen/loong64/reglist-loong64.h" 24 #elif V8_TARGET_ARCH_S390 25 #include "src/codegen/s390/reglist-s390.h" 26 #elif V8_TARGET_ARCH_RISCV64 27 #include "src/codegen/riscv64/reglist-riscv64.h" 28 #else 29 #error Unknown architecture. 30 #endif 31 32 namespace v8 { 33 namespace internal { 34 35 static constexpr RegList kEmptyRegList = {}; 36 37 #define LIST_REG(V) V, 38 static constexpr RegList kAllocatableGeneralRegisters = { 39 ALLOCATABLE_GENERAL_REGISTERS(LIST_REG) Register::no_reg()}; 40 #undef LIST_REG 41 42 } // namespace internal 43 } // namespace v8 44 45 #endif // V8_CODEGEN_REGLIST_H_ 46