• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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