diff options
Diffstat (limited to 'deps/v8/src/codegen/arm/constants-arm.h')
-rw-r--r-- | deps/v8/src/codegen/arm/constants-arm.h | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/deps/v8/src/codegen/arm/constants-arm.h b/deps/v8/src/codegen/arm/constants-arm.h index 6aedde8629..5b8636d3b9 100644 --- a/deps/v8/src/codegen/arm/constants-arm.h +++ b/deps/v8/src/codegen/arm/constants-arm.h @@ -54,10 +54,11 @@ constexpr int kNoRegister = -1; constexpr int kLdrMaxReachBits = 12; constexpr int kVldrMaxReachBits = 10; -// Actual value of root register is offset from the root array's start -// to take advantage of negative displacement values. Loads allow a uint12 -// value with a separate sign bit (range [-4095, +4095]), so the first root -// is still addressable with a single load instruction. +// The actual value of the kRootRegister is offset from the IsolateData's start +// to take advantage of negative displacement values. +// +// Loads allow a uint12 value with a separate sign bit (range [-4095, +4095]), +// so the first root is still addressable with a single load instruction. constexpr int kRootRegisterBias = 4095; // TODO(pkasting): For all the enum type aliases below, if overload resolution @@ -104,6 +105,22 @@ constexpr Condition kNumberOfConditions = 16; constexpr Condition hs = cs; // C set Unsigned higher or same. constexpr Condition lo = cc; // C clear Unsigned lower. +// Unified cross-platform condition names/aliases. +constexpr Condition kEqual = eq; +constexpr Condition kNotEqual = ne; +constexpr Condition kLessThan = lt; +constexpr Condition kGreaterThan = gt; +constexpr Condition kLessThanEqual = le; +constexpr Condition kGreaterThanEqual = ge; +constexpr Condition kUnsignedLessThan = lo; +constexpr Condition kUnsignedGreaterThan = hi; +constexpr Condition kUnsignedLessThanEqual = ls; +constexpr Condition kUnsignedGreaterThanEqual = hs; +constexpr Condition kOverflow = vs; +constexpr Condition kNoOverflow = vc; +constexpr Condition kZero = eq; +constexpr Condition kNotZero = ne; + inline Condition NegateCondition(Condition cond) { DCHECK(cond != al); return static_cast<Condition>(cond ^ ne); @@ -695,6 +712,9 @@ class VFPRegisters { static const char* names_[kNumVFPRegisters]; }; +// The maximum size of the code range s.t. pc-relative calls are possible +// between all Code objects in the range. +// // Relative jumps on ARM can address ±32 MB. constexpr size_t kMaxPCRelativeCodeRangeInMB = 32; |