summaryrefslogtreecommitdiff
path: root/deps/v8/src/codegen/reglist.h
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2022-04-12 11:10:15 +0200
committerMichaël Zasso <targos@protonmail.com>2022-04-12 22:08:39 +0200
commitfd4f80ce54d7f7b7503e0999f6a9d293d493846d (patch)
tree00fba34b8aabeb481c7128fccee635719ee44a3b /deps/v8/src/codegen/reglist.h
parent73d53fe9f56d7ce5de4b9c9ad5257dc601bbce14 (diff)
downloadnode-new-fd4f80ce54d7f7b7503e0999f6a9d293d493846d.tar.gz
deps: update V8 to 10.1.124.6
PR-URL: https://github.com/nodejs/node/pull/42657 Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
Diffstat (limited to 'deps/v8/src/codegen/reglist.h')
-rw-r--r--deps/v8/src/codegen/reglist.h56
1 files changed, 28 insertions, 28 deletions
diff --git a/deps/v8/src/codegen/reglist.h b/deps/v8/src/codegen/reglist.h
index 4f1d35267d..eb9ff45163 100644
--- a/deps/v8/src/codegen/reglist.h
+++ b/deps/v8/src/codegen/reglist.h
@@ -5,39 +5,39 @@
#ifndef V8_CODEGEN_REGLIST_H_
#define V8_CODEGEN_REGLIST_H_
-#include <cstdint>
-
-#include "src/base/bits.h"
-#include "src/base/template-utils.h"
-
-namespace v8 {
-namespace internal {
-
-// Register configurations.
-#if V8_TARGET_ARCH_ARM64
-using RegList = uint64_t;
+#if V8_TARGET_ARCH_IA32
+#include "src/codegen/ia32/reglist-ia32.h"
+#elif V8_TARGET_ARCH_X64
+#include "src/codegen/x64/reglist-x64.h"
+#elif V8_TARGET_ARCH_ARM64
+#include "src/codegen/arm64/reglist-arm64.h"
+#elif V8_TARGET_ARCH_ARM
+#include "src/codegen/arm/reglist-arm.h"
+#elif V8_TARGET_ARCH_PPC || V8_TARGET_ARCH_PPC64
+#include "src/codegen/ppc/reglist-ppc.h"
+#elif V8_TARGET_ARCH_MIPS
+#include "src/codegen/mips/reglist-mips.h"
+#elif V8_TARGET_ARCH_MIPS64
+#include "src/codegen/mips64/reglist-mips64.h"
+#elif V8_TARGET_ARCH_LOONG64
+#include "src/codegen/loong64/reglist-loong64.h"
+#elif V8_TARGET_ARCH_S390
+#include "src/codegen/s390/reglist-s390.h"
+#elif V8_TARGET_ARCH_RISCV64
+#include "src/codegen/riscv64/reglist-riscv64.h"
#else
-using RegList = uint32_t;
+#error Unknown architecture.
#endif
-// Get the number of registers in a given register list.
-constexpr int NumRegs(RegList list) {
- return base::bits::CountPopulation(list);
-}
+namespace v8 {
+namespace internal {
-namespace detail {
-// Combine two RegLists by building the union of the contained registers.
-// TODO(clemensb): Replace by constexpr lambda once we have C++17.
-constexpr RegList CombineRegListsHelper(RegList list1, RegList list2) {
- return list1 | list2;
-}
-} // namespace detail
+static constexpr RegList kEmptyRegList = {};
-// Combine several RegLists by building the union of the contained registers.
-template <typename... RegLists>
-constexpr RegList CombineRegLists(RegLists... lists) {
- return base::fold(detail::CombineRegListsHelper, 0, lists...);
-}
+#define LIST_REG(V) V,
+static constexpr RegList kAllocatableGeneralRegisters = {
+ ALLOCATABLE_GENERAL_REGISTERS(LIST_REG) Register::no_reg()};
+#undef LIST_REG
} // namespace internal
} // namespace v8