diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/v8/src/common | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/v8/src/common')
-rw-r--r-- | chromium/v8/src/common/checks.h | 2 | ||||
-rw-r--r-- | chromium/v8/src/common/globals.h | 76 | ||||
-rw-r--r-- | chromium/v8/src/common/message-template.h | 6 |
3 files changed, 53 insertions, 31 deletions
diff --git a/chromium/v8/src/common/checks.h b/chromium/v8/src/common/checks.h index ef9eb27ca07..eef59701d1d 100644 --- a/chromium/v8/src/common/checks.h +++ b/chromium/v8/src/common/checks.h @@ -18,9 +18,11 @@ namespace internal { #ifdef ENABLE_SLOW_DCHECKS #define SLOW_DCHECK(condition) \ CHECK(!v8::internal::FLAG_enable_slow_asserts || (condition)) +#define SLOW_DCHECK_IMPLIES(lhs, rhs) SLOW_DCHECK(!(lhs) || (rhs)) V8_EXPORT_PRIVATE extern bool FLAG_enable_slow_asserts; #else #define SLOW_DCHECK(condition) ((void)0) +#define SLOW_DCHECK_IMPLIES(v1, v2) ((void)0) static const bool FLAG_enable_slow_asserts = false; #endif diff --git a/chromium/v8/src/common/globals.h b/chromium/v8/src/common/globals.h index 4309b702347..dcb1d4e13d4 100644 --- a/chromium/v8/src/common/globals.h +++ b/chromium/v8/src/common/globals.h @@ -68,10 +68,13 @@ constexpr int GB = MB * 1024; #define V8_EMBEDDED_CONSTANT_POOL false #endif -#ifdef V8_TARGET_ARCH_ARM -// Set stack limit lower for ARM than for other architectures because -// stack allocating MacroAssembler takes 120K bytes. -// See issue crbug.com/405338 +#if V8_TARGET_ARCH_ARM || V8_TARGET_ARCH_ARM64 +// Set stack limit lower for ARM and ARM64 than for other architectures because: +// - on Arm stack allocating MacroAssembler takes 120K bytes. +// See issue crbug.com/405338 +// - on Arm64 when running in single-process mode for Android WebView, when +// initializing V8 we already have a large stack and so have to set the +// limit lower. See issue crbug.com/v8/10575 #define V8_DEFAULT_STACK_SIZE_KB 864 #else // Slightly less than 1MB, since Windows' default stack size for @@ -151,6 +154,8 @@ constexpr int kMaxInt16 = (1 << 15) - 1; constexpr int kMinInt16 = -(1 << 15); constexpr int kMaxUInt16 = (1 << 16) - 1; constexpr int kMinUInt16 = 0; +constexpr int kMaxInt31 = kMaxInt / 2; +constexpr int kMinInt31 = kMinInt / 2; constexpr uint32_t kMaxUInt32 = 0xFFFFFFFFu; constexpr int kMinUInt32 = 0; @@ -327,7 +332,7 @@ constexpr uint64_t kQuietNaNMask = static_cast<uint64_t>(0xfff) << 51; // Code-point values in Unicode 4.0 are 21 bits wide. // Code units in UTF-16 are 16 bits wide. using uc16 = uint16_t; -using uc32 = int32_t; +using uc32 = uint32_t; constexpr int kOneByteSize = kCharSize; constexpr int kUC16Size = sizeof(uc16); // NOLINT @@ -1337,31 +1342,46 @@ class BinaryOperationFeedback { }; // Type feedback is encoded in such a way that, we can combine the feedback -// at different points by performing an 'OR' operation. Type feedback moves -// to a more generic type when we combine feedback. -// -// kSignedSmall -> kNumber -> kNumberOrOddball -> kAny -// kReceiver -> kReceiverOrNullOrUndefined -> kAny -// kInternalizedString -> kString -> kAny -// kSymbol -> kAny -// kBigInt -> kAny -// +// at different points by performing an 'OR' operation. // This is distinct from BinaryOperationFeedback on purpose, because the // feedback that matters differs greatly as well as the way it is consumed. class CompareOperationFeedback { - public: enum { - kNone = 0x000, - kSignedSmall = 0x001, - kNumber = 0x003, - kNumberOrOddball = 0x007, - kInternalizedString = 0x008, - kString = 0x018, - kSymbol = 0x020, - kBigInt = 0x040, - kReceiver = 0x080, - kReceiverOrNullOrUndefined = 0x180, - kAny = 0x1ff + kSignedSmallFlag = 1 << 0, + kOtherNumberFlag = 1 << 1, + kBooleanFlag = 1 << 2, + kNullOrUndefinedFlag = 1 << 3, + kInternalizedStringFlag = 1 << 4, + kOtherStringFlag = 1 << 5, + kSymbolFlag = 1 << 6, + kBigIntFlag = 1 << 7, + kReceiverFlag = 1 << 8, + kAnyMask = 0x1FF, + }; + + public: + enum Type { + kNone = 0, + + kBoolean = kBooleanFlag, + kNullOrUndefined = kNullOrUndefinedFlag, + kOddball = kBoolean | kNullOrUndefined, + + kSignedSmall = kSignedSmallFlag, + kNumber = kSignedSmall | kOtherNumberFlag, + kNumberOrBoolean = kNumber | kBoolean, + kNumberOrOddball = kNumber | kOddball, + + kInternalizedString = kInternalizedStringFlag, + kString = kInternalizedString | kOtherStringFlag, + + kReceiver = kReceiverFlag, + kReceiverOrNullOrUndefined = kReceiver | kNullOrUndefined, + + kBigInt = kBigIntFlag, + kSymbol = kSymbolFlag, + + kAny = kAnyMask, }; }; @@ -1592,8 +1612,8 @@ enum class LoadSensitivity { V(TrapDataSegmentDropped) \ V(TrapElemSegmentDropped) \ V(TrapTableOutOfBounds) \ - V(TrapBrOnExnNullRef) \ - V(TrapRethrowNullRef) \ + V(TrapBrOnExnNull) \ + V(TrapRethrowNull) \ V(TrapNullDereference) \ V(TrapIllegalCast) \ V(TrapArrayOutOfBounds) diff --git a/chromium/v8/src/common/message-template.h b/chromium/v8/src/common/message-template.h index e6a25de2663..cf8d66b8bb6 100644 --- a/chromium/v8/src/common/message-template.h +++ b/chromium/v8/src/common/message-template.h @@ -320,7 +320,7 @@ namespace internal { "a location, got %") \ T(InvalidArrayBufferLength, "Invalid array buffer length") \ T(ArrayBufferAllocationFailed, "Array buffer allocation failed") \ - T(Invalid, "Invalid %s : %") \ + T(Invalid, "Invalid % : %") \ T(InvalidArrayLength, "Invalid array length") \ T(InvalidAtomicAccessIndex, "Invalid atomic access index") \ T(InvalidCodePoint, "Invalid code point %") \ @@ -551,8 +551,8 @@ namespace internal { T(WasmTrapDataSegmentDropped, "data segment has been dropped") \ T(WasmTrapElemSegmentDropped, "element segment has been dropped") \ T(WasmTrapTableOutOfBounds, "table access out of bounds") \ - T(WasmTrapBrOnExnNullRef, "br_on_exn on nullref value") \ - T(WasmTrapRethrowNullRef, "rethrowing nullref value") \ + T(WasmTrapBrOnExnNull, "br_on_exn on null value") \ + T(WasmTrapRethrowNull, "rethrowing null value") \ T(WasmTrapNullDereference, "dereferencing a null pointer") \ T(WasmTrapIllegalCast, "illegal cast") \ T(WasmTrapArrayOutOfBounds, "array element access out of bounds") \ |