<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[278338] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/278338">278338</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2021-06-01 22:21:13 -0700 (Tue, 01 Jun 2021)</dd>
</dl>

<h3>Log Message</h3>
<pre>Rename Checked::unsafeGet() to Checked::value()
https://bugs.webkit.org/show_bug.cgi?id=226514

Reviewed by Darin Adler.

Rename Checked::unsafeGet() to Checked::value(). The "unsafeGet" naming is confusing as this
function isn't really unsafe since it will crash if the value has overflowed. Also add an
`operator T()` to implicitly convert a Checked to its underlying type without needing to
call value().

Source/JavaScriptCore:

* b3/B3Const32Value.cpp:
(JSC::B3::Const32Value::checkAddConstant const):
(JSC::B3::Const32Value::checkSubConstant const):
(JSC::B3::Const32Value::checkMulConstant const):
* b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::checkAddConstant const):
(JSC::B3::Const64Value::checkSubConstant const):
(JSC::B3::Const64Value::checkMulConstant const):
* bytecompiler/BytecodeGenerator.h:
(JSC::FinallyContext::numberOfBreaksOrContinues const):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread):
(JSC::FTL::DFG::LowerDFGToB3::compileSpread):
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread):
(JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread):
* ftl/FTLOperations.cpp:
(JSC::FTL::JSC_DEFINE_JIT_OPERATION):
* heap/Heap.cpp:
(JSC::Heap::deprecatedReportExtraMemorySlowCase):
(JSC::Heap::extraMemorySize):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::reportExtraMemoryVisited):
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::propagateExternalMemoryVisitedIfNecessary):
* runtime/ArgList.cpp:
(JSC::MarkedArgumentBuffer::slowEnsureCapacity):
(JSC::MarkedArgumentBuffer::expandCapacity):
* runtime/ArrayPrototype.cpp:
(JSC::concatAppendOne):
(JSC::JSC_DEFINE_HOST_FUNCTION):
* runtime/CommonSlowPaths.cpp:
(JSC::JSC_DEFINE_COMMON_SLOW_PATH):
* runtime/DirectArguments.h:
* runtime/HashMapImpl.h:
(JSC::HashMapBuffer::allocationSize):
(JSC::HashMapImpl::HashMapImpl):
* runtime/HashMapImplInlines.h:
(JSC::nextCapacity):
(JSC::HashMapImpl<HashMapBucketType>::finishCreation):
* runtime/JSBigInt.cpp:
(JSC::JSBigInt::parseInt):
* runtime/JSImmutableButterfly.h:
(JSC::JSImmutableButterfly::tryCreate):
* runtime/JSLexicalEnvironment.h:
(JSC::JSLexicalEnvironment::offsetOfVariable):
(JSC::JSLexicalEnvironment::allocationSizeForScopeSize):
* runtime/JSObject.h:
* runtime/JSPropertyNameEnumerator.cpp:
(JSC::JSPropertyNameEnumerator::create):
* runtime/JSString.h:
* runtime/ScopedArguments.cpp:
(JSC::ScopedArguments::createUninitialized):
* runtime/StringPrototype.cpp:
(JSC::jsSpliceSubstrings):
(JSC::jsSpliceSubstringsWithSeparators):
* runtime/StructureChain.cpp:
(JSC::StructureChain::create):
* runtime/VM.h:
(JSC::ScratchBuffer::allocationSize):
* runtime/WeakMapImpl.h:
(JSC::WeakMapBuffer::allocationSize):
* wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::AirIRGenerator):
(JSC::Wasm::AirIRGenerator::emitCallPatchpoint):
* wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::B3IRGenerator):
* wasm/WasmInstance.cpp:
* wasm/WasmInstance.h:
(JSC::Wasm::Instance::allocationSize):
* wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::push):
(JSC::Wasm::LLIntGenerator::getDropKeepCount):
(JSC::Wasm::LLIntGenerator::walkExpressionStack):
(JSC::Wasm::LLIntGenerator::finalize):
(JSC::Wasm::LLIntGenerator::callInformationForCaller):
(JSC::Wasm::LLIntGenerator::addLoop):
(JSC::Wasm::LLIntGenerator::addTopLevel):
(JSC::Wasm::LLIntGenerator::addBlock):
(JSC::Wasm::LLIntGenerator::addIf):
(JSC::Wasm::LLIntGenerator::addElseToUnreachable):
* wasm/WasmSignature.h:
(JSC::Wasm::Signature::allocatedSize):
* wasm/WasmStreamingParser.cpp:
(JSC::Wasm::StreamingParser::addBytes):
* wasm/WasmTable.cpp:
(JSC::Wasm::Table::Table):
(JSC::Wasm::Table::grow):
(JSC::Wasm::FuncRefTable::FuncRefTable):
* yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::DisjunctionContext::allocationSize):
(JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::allocationSize):
(JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext):
(JSC::Yarr::ByteCompiler::atomCharacterClass):
(JSC::Yarr::ByteCompiler::atomBackReference):
(JSC::Yarr::ByteCompiler::atomParentheticalAssertionEnd):
(JSC::Yarr::ByteCompiler::atomParenthesesSubpatternEnd):
(JSC::Yarr::ByteCompiler::atomParenthesesOnceEnd):
(JSC::Yarr::ByteCompiler::atomParenthesesTerminalEnd):
(JSC::Yarr::ByteCompiler::emitDisjunction):
* yarr/YarrInterpreter.h:
(JSC::Yarr::ByteTerm::ByteTerm):
(JSC::Yarr::ByteTerm::CheckInput):
(JSC::Yarr::ByteTerm::UncheckInput):
* yarr/YarrJIT.cpp:
* yarr/YarrParser.h:
(JSC::Yarr::Parser::consumeNumber):
* yarr/YarrPattern.cpp:
(JSC::Yarr::PatternTerm::dumpQuantifier):

Source/WebCore:

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readTerminal):
* dom/TextEncoderStreamEncoder.cpp:
(WebCore::TextEncoderStreamEncoder::encode):
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::takeResults):
* html/FileInputType.cpp:
(WebCore::FileInputType::saveFormControlState const):
* html/ImageData.cpp:
(WebCore::ImageData::create):
(WebCore::ImageData::createUninitialized):
* html/MediaElementSession.cpp:
(WebCore::isElementRectMostlyInMainFrame):
* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::sliceArrayBufferView):
(WebCore::WebGL2RenderingContext::copyBufferSubData):
(WebCore::WebGL2RenderingContext::getBufferSubData):
(WebCore::WebGL2RenderingContext::validateClearBuffer):
* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::associateBufferSubDataImpl):
(WebCore::WebGLBuffer::associateCopyBufferSubData):
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::clip2D):
(WebCore::WebGLRenderingContextBase::validateDrawArrays):
(WebCore::WebGLRenderingContextBase::validateDrawElements):
(WebCore::WebGLRenderingContextBase::validateTexFuncData):
(WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData):
(WebCore::WebGLRenderingContextBase::validateSimulatedVertexAttrib0):
* html/canvas/WebGLRenderingContextBase.h:
(WebCore::WebGLRenderingContextBase::validateTexImageSubRectangle):
(WebCore::WebGLRenderingContextBase::checkedAddAndMultiply):
* page/FrameView.h:
(WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
* page/History.cpp:
(WebCore::History::stateObjectAdded):
* platform/audio/AudioArray.h:
(WebCore::AudioArray::resize):
* platform/audio/cocoa/AudioFileReaderCocoa.cpp:
(WebCore::tryCreateAudioBufferList):
* platform/audio/cocoa/CARingBuffer.cpp:
(WebCore::CARingBuffer::adoptStorage):
(WebCore::CARingBuffer::initializeAfterAllocation):
(WebCore::CARingBuffer::allocate):
* platform/audio/cocoa/WebAudioBufferList.cpp:
(WebCore::WebAudioBufferList::WebAudioBufferList):
* platform/graphics/FormatConverter.h:
(WebCore::FormatConverter::FormatConverter):
* platform/graphics/GraphicsContextGL.cpp:
(WebCore::GraphicsContextGL::computeImageSizeInBytes):
* platform/graphics/ImageBackingStore.h:
(WebCore::ImageBackingStore::setSize):
(WebCore::ImageBackingStore::clear):
* platform/graphics/ImageBufferBackend.cpp:
(WebCore::ImageBufferBackend::calculateMemoryCost):
* platform/graphics/ImageFrame.h:
(WebCore::ImageFrame::frameBytes const):
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::maximumSubsamplingLevel):
* platform/graphics/PixelBuffer.cpp:
(WebCore::PixelBuffer::tryCreateForDecoding):
(WebCore::PixelBuffer::tryCreate):
* platform/graphics/PixelBuffer.h:
(WebCore::PixelBuffer::encode const):
(WebCore::PixelBuffer::decode):
* platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
(WebCore::ImageDecoderAVFObjC::frameBytesAtIndex const):
* platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::setByteRangeOffset):
(WebCore::MediaSampleAVFObjC::byteRangeForAttachment const):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateBackdropFilters):
* platform/graphics/ca/LayerPool.cpp:
(WebCore::LayerPool::backingStoreBytesForSize):
* platform/graphics/cg/GraphicsContextGLCG.cpp:
(WebCore::GraphicsContextGLImageExtractor::extractImage):
* platform/graphics/cg/ImageBufferCGBackend.cpp:
(WebCore::ImageBufferCGBackend::calculateBytesPerRow):
* platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoderCG::frameBytesAtIndex const):
* platform/graphics/cocoa/SourceBufferParser.cpp:
(WebCore::SourceBufferParser::Segment::read const):
* platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::effectApplyAccelerated):
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::platformApplySoftware):
* platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::platformApplySoftware):
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::unmultipliedResult):
(WebCore::FilterEffect::premultipliedResult):
(WebCore::copyPremultiplyingAlpha):
(WebCore::copyUnpremultiplyingAlpha):
* platform/graphics/gpu/cocoa/GPUBindGroupAllocatorMetal.mm:
(WebCore::GPUBindGroupAllocator::allocateAndSetEncoders):
(WebCore::GPUBindGroupAllocator::reallocate):
* platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm:
(WebCore::GPUCommandBuffer::copyBufferToBuffer):
* platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm:
(WebCore::GPURenderPassEncoder::drawIndexed):
* platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
(WebCore::ImageDecoderGStreamer::frameBytesAtIndex const):
* platform/graphics/nicosia/NicosiaBuffer.cpp:
(Nicosia::Buffer::Buffer):
* platform/graphics/win/Direct2DUtilities.cpp:
(WebCore::Direct2D::createDirect2DImageSurfaceWithData):
* platform/graphics/win/ImageBufferDirect2DBackend.cpp:
(WebCore::ImageBufferDirect2DBackend::compatibleBitmap):
* platform/graphics/win/ImageDecoderDirect2D.cpp:
(WebCore::ImageDecoderDirect2D::frameBytesAtIndex const):
* platform/image-decoders/ScalableImageDecoder.cpp:
(WebCore::ScalableImageDecoder::frameBytesAtIndex const):
* platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp:
(WebCore::sycc444ToRGB):
(WebCore::sycc422ToRGB):
(WebCore::sycc420ToRGB):
* platform/ios/LegacyTileLayerPool.mm:
(WebCore::LegacyTileLayerPool::bytesBackingLayerWithPixelSize):
* platform/text/TextCodecUTF16.cpp:
(WebCore::TextCodecUTF16::encode const):
* platform/text/TextCodecUTF8.cpp:
(WebCore::TextCodecUTF8::encodeUTF8):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForCanvas const):
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):
* storage/StorageMap.cpp:
(WebCore::StorageMap::setItem):
* xml/XSLStyleSheetLibxslt.cpp:
(WebCore::XSLStyleSheet::parseString):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::xsltParamArrayFromParameterMap):
* xml/parser/CharacterReferenceParserInlines.h:
(WebCore::consumeCharacterReference):

Source/WebKit:

* GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists):
* NetworkProcess/WebStorage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::setItem):
* NetworkProcess/cache/CacheStorageEngineCache.cpp:
(WebKit::CacheStorage::Cache::put):
* Platform/IPC/ArgumentCoders.h:
* Platform/IPC/cocoa/ConnectionCocoa.mm:
(IPC::Connection::sendOutgoingMessage):
(IPC::createMessageDecoder):
* Platform/IPC/cocoa/MachMessage.cpp:
(IPC::MachMessage::create):
* Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::Handle::encode const):
(WebKit::ShareableBitmap::create):
(WebKit::ShareableBitmap::createShareable):
* Shared/ShareableBitmap.h:
(WebKit::ShareableBitmap::bytesPerRow const):
(WebKit::ShareableBitmap::sizeInBytes const):
* Shared/ShareableResource.cpp:
(WebKit::ShareableResource::create):
* Shared/cg/ShareableBitmapCG.cpp:
(WebKit::ShareableBitmap::calculateBytesPerRow):
(WebKit::ShareableBitmap::createGraphicsContext):
(WebKit::ShareableBitmap::createCGImage const):
* Shared/mac/MediaFormatReader/MediaFormatReader.cpp:
(WebKit::MediaFormatReader::copyTrackArray):
* Shared/mac/MediaFormatReader/MediaSampleCursor.cpp:
(WebKit::MediaSampleCursor::copySampleLocation const):
* WebProcess/GPU/graphics/DisplayListWriterHandle.cpp:
(WebKit::DisplayListWriterHandle::advance):
* WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::calculateBytesPerRow):
* WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:
(WebKit::RemoteImageDecoderAVF::frameBytesAtIndex const):
* WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::increaseBufferedAmount):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestEvasionRectsAboveSelection):
(WebKit::WebPage::updateSelectionWithDelta):

Source/WTF:

* wtf/CheckedArithmetic.h:
(WTF::Checked::operator! const):
(WTF::Checked::operator bool const):
(WTF::Checked::operator T const):
(WTF::Checked::value const):
(WTF::Checked::operator==):
(WTF::Checked::operator< const):
(WTF::Checked::operator<= const):
(WTF::Checked::operator> const):
(WTF::Checked::operator>= const):
* wtf/ConcurrentBuffer.h:
* wtf/FastMalloc.cpp:
(WTF::fastCalloc):
(WTF::tryFastCalloc):
* wtf/Gigacage.cpp:
(Gigacage::tryMallocArray):
* wtf/URLHelpers.cpp:
(WTF::URLHelpers::userVisibleURL):
* wtf/URLParser.cpp:
(WTF::URLParser::parseIPv4Piece):
* wtf/UniqueArray.h:
* wtf/cocoa/NSURLExtras.mm:
(WTF::dataWithUserTypedString):
* wtf/glib/SocketConnection.cpp:
(WTF::SocketConnection::readMessage):
(WTF::SocketConnection::sendMessage):
* wtf/text/CString.cpp:
(WTF::CStringBuffer::createUninitialized):
* wtf/text/StringBuffer.h:
(WTF::StringBuffer::StringBuffer):
* wtf/text/StringBuilderJSON.cpp:
(WTF::StringBuilder::appendQuotedJSONString):
* wtf/text/StringConcatenate.h:
(WTF::tryMakeStringFromAdapters):
* wtf/text/StringImpl.h:
(WTF::StringImpl::allocationSize):
* wtf/text/StringToIntegerConversion.h:
(WTF::parseInteger):

Tools:

* TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
(TestWebKitAPI::CheckedArithmeticTester::run):
(TestWebKitAPI::AllowMixedSignednessTest::run):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/IntRectTests.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/IntSizeTests.cpp:
(TestWebKitAPI::TEST):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreb3B3Const32Valuecpp">trunk/Source/JavaScriptCore/b3/B3Const32Value.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreb3B3Const64Valuecpp">trunk/Source/JavaScriptCore/b3/B3Const64Value.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecompilerBytecodeGeneratorh">trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGConstantFoldingPhasecpp">trunk/Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGOperationscpp">trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreftlFTLLowerDFGToB3cpp">trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreftlFTLOperationscpp">trunk/Source/JavaScriptCore/ftl/FTLOperations.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreheapHeapcpp">trunk/Source/JavaScriptCore/heap/Heap.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreheapSlotVisitorcpp">trunk/Source/JavaScriptCore/heap/SlotVisitor.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeArgListcpp">trunk/Source/JavaScriptCore/runtime/ArgList.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeArrayPrototypecpp">trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeCommonSlowPathscpp">trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeDirectArgumentsh">trunk/Source/JavaScriptCore/runtime/DirectArguments.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeHashMapImplh">trunk/Source/JavaScriptCore/runtime/HashMapImpl.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeHashMapImplInlinesh">trunk/Source/JavaScriptCore/runtime/HashMapImplInlines.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSBigIntcpp">trunk/Source/JavaScriptCore/runtime/JSBigInt.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSImmutableButterflyh">trunk/Source/JavaScriptCore/runtime/JSImmutableButterfly.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSLexicalEnvironmenth">trunk/Source/JavaScriptCore/runtime/JSLexicalEnvironment.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSObjecth">trunk/Source/JavaScriptCore/runtime/JSObject.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSPropertyNameEnumeratorcpp">trunk/Source/JavaScriptCore/runtime/JSPropertyNameEnumerator.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSStringh">trunk/Source/JavaScriptCore/runtime/JSString.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeScopedArgumentscpp">trunk/Source/JavaScriptCore/runtime/ScopedArguments.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeStringPrototypecpp">trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeStructureChaincpp">trunk/Source/JavaScriptCore/runtime/StructureChain.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeVMh">trunk/Source/JavaScriptCore/runtime/VM.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeWeakMapImplh">trunk/Source/JavaScriptCore/runtime/WeakMapImpl.h</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWasmAirIRGeneratorcpp">trunk/Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWasmB3IRGeneratorcpp">trunk/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWasmInstancecpp">trunk/Source/JavaScriptCore/wasm/WasmInstance.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWasmInstanceh">trunk/Source/JavaScriptCore/wasm/WasmInstance.h</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWasmLLIntGeneratorcpp">trunk/Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWasmSignatureh">trunk/Source/JavaScriptCore/wasm/WasmSignature.h</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWasmStreamingParsercpp">trunk/Source/JavaScriptCore/wasm/WasmStreamingParser.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorewasmWasmTablecpp">trunk/Source/JavaScriptCore/wasm/WasmTable.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreyarrYarrInterpretercpp">trunk/Source/JavaScriptCore/yarr/YarrInterpreter.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreyarrYarrInterpreterh">trunk/Source/JavaScriptCore/yarr/YarrInterpreter.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreyarrYarrJITcpp">trunk/Source/JavaScriptCore/yarr/YarrJIT.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreyarrYarrParserh">trunk/Source/JavaScriptCore/yarr/YarrParser.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreyarrYarrPatterncpp">trunk/Source/JavaScriptCore/yarr/YarrPattern.cpp</a></li>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfCheckedArithmetich">trunk/Source/WTF/wtf/CheckedArithmetic.h</a></li>
<li><a href="#trunkSourceWTFwtfConcurrentBufferh">trunk/Source/WTF/wtf/ConcurrentBuffer.h</a></li>
<li><a href="#trunkSourceWTFwtfFastMalloccpp">trunk/Source/WTF/wtf/FastMalloc.cpp</a></li>
<li><a href="#trunkSourceWTFwtfGigacagecpp">trunk/Source/WTF/wtf/Gigacage.cpp</a></li>
<li><a href="#trunkSourceWTFwtfURLHelperscpp">trunk/Source/WTF/wtf/URLHelpers.cpp</a></li>
<li><a href="#trunkSourceWTFwtfURLParsercpp">trunk/Source/WTF/wtf/URLParser.cpp</a></li>
<li><a href="#trunkSourceWTFwtfUniqueArrayh">trunk/Source/WTF/wtf/UniqueArray.h</a></li>
<li><a href="#trunkSourceWTFwtfcocoaNSURLExtrasmm">trunk/Source/WTF/wtf/cocoa/NSURLExtras.mm</a></li>
<li><a href="#trunkSourceWTFwtfglibSocketConnectioncpp">trunk/Source/WTF/wtf/glib/SocketConnection.cpp</a></li>
<li><a href="#trunkSourceWTFwtftextCStringcpp">trunk/Source/WTF/wtf/text/CString.cpp</a></li>
<li><a href="#trunkSourceWTFwtftextStringBufferh">trunk/Source/WTF/wtf/text/StringBuffer.h</a></li>
<li><a href="#trunkSourceWTFwtftextStringBuilderJSONcpp">trunk/Source/WTF/wtf/text/StringBuilderJSON.cpp</a></li>
<li><a href="#trunkSourceWTFwtftextStringConcatenateh">trunk/Source/WTF/wtf/text/StringConcatenate.h</a></li>
<li><a href="#trunkSourceWTFwtftextStringImplh">trunk/Source/WTF/wtf/text/StringImpl.h</a></li>
<li><a href="#trunkSourceWTFwtftextStringToIntegerConversionh">trunk/Source/WTF/wtf/text/StringToIntegerConversion.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsjsSerializedScriptValuecpp">trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp</a></li>
<li><a href="#trunkSourceWebCoredomTextEncoderStreamEncodercpp">trunk/Source/WebCore/dom/TextEncoderStreamEncoder.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingmarkupcpp">trunk/Source/WebCore/editing/markup.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlFileInputTypecpp">trunk/Source/WebCore/html/FileInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlImageDatacpp">trunk/Source/WebCore/html/ImageData.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlMediaElementSessioncpp">trunk/Source/WebCore/html/MediaElementSession.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGL2RenderingContextcpp">trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLBuffercpp">trunk/Source/WebCore/html/canvas/WebGLBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLRenderingContextBasecpp">trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLRenderingContextBaseh">trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h</a></li>
<li><a href="#trunkSourceWebCorepageFrameViewh">trunk/Source/WebCore/page/FrameView.h</a></li>
<li><a href="#trunkSourceWebCorepageHistorycpp">trunk/Source/WebCore/page/History.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioAudioArrayh">trunk/Source/WebCore/platform/audio/AudioArray.h</a></li>
<li><a href="#trunkSourceWebCoreplatformaudiococoaAudioFileReaderCocoacpp">trunk/Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformaudiococoaCARingBuffercpp">trunk/Source/WebCore/platform/audio/cocoa/CARingBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformaudiococoaWebAudioBufferListcpp">trunk/Source/WebCore/platform/audio/cocoa/WebAudioBufferList.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFormatConverterh">trunk/Source/WebCore/platform/graphics/FormatConverter.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGraphicsContextGLcpp">trunk/Source/WebCore/platform/graphics/GraphicsContextGL.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageBackingStoreh">trunk/Source/WebCore/platform/graphics/ImageBackingStore.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageBufferBackendcpp">trunk/Source/WebCore/platform/graphics/ImageBufferBackend.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageFrameh">trunk/Source/WebCore/platform/graphics/ImageFrame.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageSourcecpp">trunk/Source/WebCore/platform/graphics/ImageSource.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsPixelBuffercpp">trunk/Source/WebCore/platform/graphics/PixelBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsPixelBufferh">trunk/Source/WebCore/platform/graphics/PixelBuffer.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcImageDecoderAVFObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaSampleAVFObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscaGraphicsLayerCAcpp">trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscaLayerPoolcpp">trunk/Source/WebCore/platform/graphics/ca/LayerPool.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscgGraphicsContextGLCGcpp">trunk/Source/WebCore/platform/graphics/cg/GraphicsContextGLCG.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscgImageBufferCGBackendcpp">trunk/Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscgImageDecoderCGcpp">trunk/Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscocoaSourceBufferParsercpp">trunk/Source/WebCore/platform/graphics/cocoa/SourceBufferParser.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsfiltersFEColorMatrixcpp">trunk/Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsfiltersFEGaussianBlurcpp">trunk/Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsfiltersFETurbulencecpp">trunk/Source/WebCore/platform/graphics/filters/FETurbulence.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsfiltersFilterEffectcpp">trunk/Source/WebCore/platform/graphics/filters/FilterEffect.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgpucocoaGPUBindGroupAllocatorMetalmm">trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUBindGroupAllocatorMetal.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgpucocoaGPUCommandBufferMetalmm">trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgpucocoaGPURenderPassEncoderMetalmm">trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreamerImageDecoderGStreamercpp">trunk/Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsnicosiaNicosiaBuffercpp">trunk/Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinDirect2DUtilitiescpp">trunk/Source/WebCore/platform/graphics/win/Direct2DUtilities.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinImageBufferDirect2DBackendcpp">trunk/Source/WebCore/platform/graphics/win/ImageBufferDirect2DBackend.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinImageDecoderDirect2Dcpp">trunk/Source/WebCore/platform/graphics/win/ImageDecoderDirect2D.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersScalableImageDecodercpp">trunk/Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersjpeg2000JPEG2000ImageDecodercpp">trunk/Source/WebCore/platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformiosLegacyTileLayerPoolmm">trunk/Source/WebCore/platform/ios/LegacyTileLayerPool.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformtextTextCodecUTF16cpp">trunk/Source/WebCore/platform/text/TextCodecUTF16.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformtextTextCodecUTF8cpp">trunk/Source/WebCore/platform/text/TextCodecUTF8.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerCompositorcpp">trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingshapesShapecpp">trunk/Source/WebCore/rendering/shapes/Shape.cpp</a></li>
<li><a href="#trunkSourceWebCorestorageStorageMapcpp">trunk/Source/WebCore/storage/StorageMap.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXSLStyleSheetLibxsltcpp">trunk/Source/WebCore/xml/XSLStyleSheetLibxslt.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXSLTProcessorLibxsltcpp">trunk/Source/WebCore/xml/XSLTProcessorLibxslt.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlparserCharacterReferenceParserInlinesh">trunk/Source/WebCore/xml/parser/CharacterReferenceParserInlines.h</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitGPUProcessgraphicsRemoteRenderingBackendcpp">trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessWebStorageLocalStorageDatabasecpp">trunk/Source/WebKit/NetworkProcess/WebStorage/LocalStorageDatabase.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscacheCacheStorageEngineCachecpp">trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp</a></li>
<li><a href="#trunkSourceWebKitPlatformIPCArgumentCodersh">trunk/Source/WebKit/Platform/IPC/ArgumentCoders.h</a></li>
<li><a href="#trunkSourceWebKitPlatformIPCcocoaConnectionCocoamm">trunk/Source/WebKit/Platform/IPC/cocoa/ConnectionCocoa.mm</a></li>
<li><a href="#trunkSourceWebKitPlatformIPCcocoaMachMessagecpp">trunk/Source/WebKit/Platform/IPC/cocoa/MachMessage.cpp</a></li>
<li><a href="#trunkSourceWebKitSharedShareableBitmapcpp">trunk/Source/WebKit/Shared/ShareableBitmap.cpp</a></li>
<li><a href="#trunkSourceWebKitSharedShareableBitmaph">trunk/Source/WebKit/Shared/ShareableBitmap.h</a></li>
<li><a href="#trunkSourceWebKitSharedShareableResourcecpp">trunk/Source/WebKit/Shared/ShareableResource.cpp</a></li>
<li><a href="#trunkSourceWebKitSharedcgShareableBitmapCGcpp">trunk/Source/WebKit/Shared/cg/ShareableBitmapCG.cpp</a></li>
<li><a href="#trunkSourceWebKitSharedmacMediaFormatReaderMediaFormatReadercpp">trunk/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp</a></li>
<li><a href="#trunkSourceWebKitSharedmacMediaFormatReaderMediaSampleCursorcpp">trunk/Source/WebKit/Shared/mac/MediaFormatReader/MediaSampleCursor.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUgraphicsDisplayListWriterHandlecpp">trunk/Source/WebKit/WebProcess/GPU/graphics/DisplayListWriterHandle.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUgraphicsImageBufferShareableBitmapBackendcpp">trunk/Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUmediaRemoteImageDecoderAVFcpp">trunk/Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessNetworkWebSocketChannelcpp">trunk/Source/WebKit/WebProcess/Network/WebSocketChannel.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebPageiosWebPageIOSmm">trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsTestWebKitAPITestsWTFCheckedArithmeticOperationscpp">trunk/Tools/TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp</a></li>
<li><a href="#trunkToolsTestWebKitAPITestsWebCoreIntRectTestscpp">trunk/Tools/TestWebKitAPI/Tests/WebCore/IntRectTests.cpp</a></li>
<li><a href="#trunkToolsTestWebKitAPITestsWebCoreIntSizeTestscpp">trunk/Tools/TestWebKitAPI/Tests/WebCore/IntSizeTests.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/ChangeLog       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -1,3 +1,128 @@
</span><ins>+2021-06-01  Chris Dumez  <cdumez@apple.com>
+
+        Rename Checked::unsafeGet() to Checked::value()
+        https://bugs.webkit.org/show_bug.cgi?id=226514
+
+        Reviewed by Darin Adler.
+
+        Rename Checked::unsafeGet() to Checked::value(). The "unsafeGet" naming is confusing as this
+        function isn't really unsafe since it will crash if the value has overflowed. Also add an
+        `operator T()` to implicitly convert a Checked to its underlying type without needing to
+        call value().
+
+        * b3/B3Const32Value.cpp:
+        (JSC::B3::Const32Value::checkAddConstant const):
+        (JSC::B3::Const32Value::checkSubConstant const):
+        (JSC::B3::Const32Value::checkMulConstant const):
+        * b3/B3Const64Value.cpp:
+        (JSC::B3::Const64Value::checkAddConstant const):
+        (JSC::B3::Const64Value::checkSubConstant const):
+        (JSC::B3::Const64Value::checkMulConstant const):
+        * bytecompiler/BytecodeGenerator.h:
+        (JSC::FinallyContext::numberOfBreaksOrContinues const):
+        * dfg/DFGConstantFoldingPhase.cpp:
+        (JSC::DFG::ConstantFoldingPhase::foldConstants):
+        * dfg/DFGOperations.cpp:
+        (JSC::DFG::JSC_DEFINE_JIT_OPERATION):
+        * ftl/FTLLowerDFGToB3.cpp:
+        (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread):
+        (JSC::FTL::DFG::LowerDFGToB3::compileSpread):
+        (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread):
+        (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread):
+        * ftl/FTLOperations.cpp:
+        (JSC::FTL::JSC_DEFINE_JIT_OPERATION):
+        * heap/Heap.cpp:
+        (JSC::Heap::deprecatedReportExtraMemorySlowCase):
+        (JSC::Heap::extraMemorySize):
+        (JSC::Heap::updateAllocationLimits):
+        (JSC::Heap::reportExtraMemoryVisited):
+        * heap/SlotVisitor.cpp:
+        (JSC::SlotVisitor::propagateExternalMemoryVisitedIfNecessary):
+        * runtime/ArgList.cpp:
+        (JSC::MarkedArgumentBuffer::slowEnsureCapacity):
+        (JSC::MarkedArgumentBuffer::expandCapacity):
+        * runtime/ArrayPrototype.cpp:
+        (JSC::concatAppendOne):
+        (JSC::JSC_DEFINE_HOST_FUNCTION):
+        * runtime/CommonSlowPaths.cpp:
+        (JSC::JSC_DEFINE_COMMON_SLOW_PATH):
+        * runtime/DirectArguments.h:
+        * runtime/HashMapImpl.h:
+        (JSC::HashMapBuffer::allocationSize):
+        (JSC::HashMapImpl::HashMapImpl):
+        * runtime/HashMapImplInlines.h:
+        (JSC::nextCapacity):
+        (JSC::HashMapImpl<HashMapBucketType>::finishCreation):
+        * runtime/JSBigInt.cpp:
+        (JSC::JSBigInt::parseInt):
+        * runtime/JSImmutableButterfly.h:
+        (JSC::JSImmutableButterfly::tryCreate):
+        * runtime/JSLexicalEnvironment.h:
+        (JSC::JSLexicalEnvironment::offsetOfVariable):
+        (JSC::JSLexicalEnvironment::allocationSizeForScopeSize):
+        * runtime/JSObject.h:
+        * runtime/JSPropertyNameEnumerator.cpp:
+        (JSC::JSPropertyNameEnumerator::create):
+        * runtime/JSString.h:
+        * runtime/ScopedArguments.cpp:
+        (JSC::ScopedArguments::createUninitialized):
+        * runtime/StringPrototype.cpp:
+        (JSC::jsSpliceSubstrings):
+        (JSC::jsSpliceSubstringsWithSeparators):
+        * runtime/StructureChain.cpp:
+        (JSC::StructureChain::create):
+        * runtime/VM.h:
+        (JSC::ScratchBuffer::allocationSize):
+        * runtime/WeakMapImpl.h:
+        (JSC::WeakMapBuffer::allocationSize):
+        * wasm/WasmAirIRGenerator.cpp:
+        (JSC::Wasm::AirIRGenerator::AirIRGenerator):
+        (JSC::Wasm::AirIRGenerator::emitCallPatchpoint):
+        * wasm/WasmB3IRGenerator.cpp:
+        (JSC::Wasm::B3IRGenerator::B3IRGenerator):
+        * wasm/WasmInstance.cpp:
+        * wasm/WasmInstance.h:
+        (JSC::Wasm::Instance::allocationSize):
+        * wasm/WasmLLIntGenerator.cpp:
+        (JSC::Wasm::LLIntGenerator::push):
+        (JSC::Wasm::LLIntGenerator::getDropKeepCount):
+        (JSC::Wasm::LLIntGenerator::walkExpressionStack):
+        (JSC::Wasm::LLIntGenerator::finalize):
+        (JSC::Wasm::LLIntGenerator::callInformationForCaller):
+        (JSC::Wasm::LLIntGenerator::addLoop):
+        (JSC::Wasm::LLIntGenerator::addTopLevel):
+        (JSC::Wasm::LLIntGenerator::addBlock):
+        (JSC::Wasm::LLIntGenerator::addIf):
+        (JSC::Wasm::LLIntGenerator::addElseToUnreachable):
+        * wasm/WasmSignature.h:
+        (JSC::Wasm::Signature::allocatedSize):
+        * wasm/WasmStreamingParser.cpp:
+        (JSC::Wasm::StreamingParser::addBytes):
+        * wasm/WasmTable.cpp:
+        (JSC::Wasm::Table::Table):
+        (JSC::Wasm::Table::grow):
+        (JSC::Wasm::FuncRefTable::FuncRefTable):
+        * yarr/YarrInterpreter.cpp:
+        (JSC::Yarr::Interpreter::DisjunctionContext::allocationSize):
+        (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::allocationSize):
+        (JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext):
+        (JSC::Yarr::ByteCompiler::atomCharacterClass):
+        (JSC::Yarr::ByteCompiler::atomBackReference):
+        (JSC::Yarr::ByteCompiler::atomParentheticalAssertionEnd):
+        (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternEnd):
+        (JSC::Yarr::ByteCompiler::atomParenthesesOnceEnd):
+        (JSC::Yarr::ByteCompiler::atomParenthesesTerminalEnd):
+        (JSC::Yarr::ByteCompiler::emitDisjunction):
+        * yarr/YarrInterpreter.h:
+        (JSC::Yarr::ByteTerm::ByteTerm):
+        (JSC::Yarr::ByteTerm::CheckInput):
+        (JSC::Yarr::ByteTerm::UncheckInput):
+        * yarr/YarrJIT.cpp:
+        * yarr/YarrParser.h:
+        (JSC::Yarr::Parser::consumeNumber):
+        * yarr/YarrPattern.cpp:
+        (JSC::Yarr::PatternTerm::dumpQuantifier):
+
</ins><span class="cx"> 2021-06-01  Adrian Perez de Castro  <aperez@igalia.com>
</span><span class="cx"> 
</span><span class="cx">         [WPE][GTK] Support building against uClibc
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreb3B3Const32Valuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/b3/B3Const32Value.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/b3/B3Const32Value.cpp        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/b3/B3Const32Value.cpp   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx">     CheckedInt32 result = CheckedInt32(m_value) + CheckedInt32(other->asInt32());
</span><span class="cx">     if (result.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><del>-    return proc.add<Const32Value>(origin(), result.unsafeGet());
</del><ins>+    return proc.add<Const32Value>(origin(), result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Value* Const32Value::checkSubConstant(Procedure& proc, const Value* other) const
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx">     CheckedInt32 result = CheckedInt32(m_value) - CheckedInt32(other->asInt32());
</span><span class="cx">     if (result.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><del>-    return proc.add<Const32Value>(origin(), result.unsafeGet());
</del><ins>+    return proc.add<Const32Value>(origin(), result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Value* Const32Value::checkMulConstant(Procedure& proc, const Value* other) const
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx">     CheckedInt32 result = CheckedInt32(m_value) * CheckedInt32(other->asInt32());
</span><span class="cx">     if (result.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><del>-    return proc.add<Const32Value>(origin(), result.unsafeGet());
</del><ins>+    return proc.add<Const32Value>(origin(), result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Value* Const32Value::checkNegConstant(Procedure& proc) const
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreb3B3Const64Valuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/b3/B3Const64Value.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/b3/B3Const64Value.cpp        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/b3/B3Const64Value.cpp   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx">     CheckedInt64 result = CheckedInt64(m_value) + CheckedInt64(other->asInt64());
</span><span class="cx">     if (result.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><del>-    return proc.add<Const64Value>(origin(), result.unsafeGet());
</del><ins>+    return proc.add<Const64Value>(origin(), result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Value* Const64Value::checkSubConstant(Procedure& proc, const Value* other) const
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx">     CheckedInt64 result = CheckedInt64(m_value) - CheckedInt64(other->asInt64());
</span><span class="cx">     if (result.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><del>-    return proc.add<Const64Value>(origin(), result.unsafeGet());
</del><ins>+    return proc.add<Const64Value>(origin(), result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Value* Const64Value::checkMulConstant(Procedure& proc, const Value* other) const
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx">     CheckedInt64 result = CheckedInt64(m_value) * CheckedInt64(other->asInt64());
</span><span class="cx">     if (result.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><del>-    return proc.add<Const64Value>(origin(), result.unsafeGet());
</del><ins>+    return proc.add<Const64Value>(origin(), result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Value* Const64Value::checkNegConstant(Procedure& proc) const
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecompilerBytecodeGeneratorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h     2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h        2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -207,7 +207,7 @@
</span><span class="cx">         RegisterID* completionTypeRegister() const { return m_completionRecord.typeRegister.get(); }
</span><span class="cx">         RegisterID* completionValueRegister() const { return m_completionRecord.valueRegister.get(); }
</span><span class="cx"> 
</span><del>-        uint32_t numberOfBreaksOrContinues() const { return m_numberOfBreaksOrContinues.unsafeGet(); }
</del><ins>+        uint32_t numberOfBreaksOrContinues() const { return m_numberOfBreaksOrContinues; }
</ins><span class="cx">         void incNumberOfBreaksOrContinues() { m_numberOfBreaksOrContinues++; }
</span><span class="cx"> 
</span><span class="cx">         bool handlesReturns() const { return m_handlesReturns; }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGConstantFoldingPhasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp      2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp 2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -394,12 +394,12 @@
</span><span class="cx">                 if (!indexValue || !indexValue.isUInt32())
</span><span class="cx">                     break;
</span><span class="cx"> 
</span><del>-                Checked<unsigned, RecordOverflow> checkedIndex = indexValue.asUInt32();
</del><ins>+                CheckedUint32 checkedIndex = indexValue.asUInt32();
</ins><span class="cx">                 checkedIndex += node->numberOfArgumentsToSkip();
</span><span class="cx">                 if (checkedIndex.hasOverflowed())
</span><span class="cx">                     break;
</span><span class="cx">                 
</span><del>-                unsigned index = checkedIndex.unsafeGet();
</del><ins>+                unsigned index = checkedIndex;
</ins><span class="cx">                 Node* arguments = node->child1().node();
</span><span class="cx">                 InlineCallFrame* inlineCallFrame = arguments->origin.semantic.inlineCallFrame();
</span><span class="cx">                 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGOperationscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -3033,7 +3033,7 @@
</span><span class="cx">     auto scope = DECLARE_THROW_SCOPE(vm);
</span><span class="cx"> 
</span><span class="cx">     EncodedJSValue* values = static_cast<EncodedJSValue*>(buffer);
</span><del>-    Checked<unsigned, RecordOverflow> checkedLength = 0;
</del><ins>+    CheckedUint32 checkedLength = 0;
</ins><span class="cx">     for (unsigned i = 0; i < numItems; i++) {
</span><span class="cx">         JSValue value = JSValue::decode(values[i]);
</span><span class="cx">         if (JSImmutableButterfly* array = jsDynamicCast<JSImmutableButterfly*>(vm, value))
</span><span class="lines">@@ -3047,7 +3047,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    unsigned length = checkedLength.unsafeGet();
</del><ins>+    unsigned length = checkedLength;
</ins><span class="cx">     if (UNLIKELY(length >= MIN_ARRAY_STORAGE_CONSTRUCTION_LENGTH)) {
</span><span class="cx">         throwOutOfMemoryError(globalObject, scope);
</span><span class="cx">         return nullptr;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreftlFTLLowerDFGToB3cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp      2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp 2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -7284,7 +7284,7 @@
</span><span class="cx">                 return;
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            LValue length = m_out.constInt32(startLength.unsafeGet());
</del><ins>+            LValue length = m_out.constInt32(startLength);
</ins><span class="cx"> 
</span><span class="cx">             for (unsigned i = 0; i < m_node->numChildren(); ++i) {
</span><span class="cx">                 if (bitVector->get(i)) {
</span><span class="lines">@@ -7331,7 +7331,7 @@
</span><span class="cx">                                 // Because resulted array from NewArrayWithSpread is always contiguous, we should not generate value
</span><span class="cx">                                 // in Double form even if PhantomNewArrayBuffer's indexingType is ArrayWithDouble.
</span><span class="cx">                                 int64_t value = JSValue::encode(array->get(i));
</span><del>-                                m_out.store64(m_out.constInt64(value), m_out.baseIndex(heap, storage, index, JSValue(), (Checked<int32_t>(sizeof(JSValue)) * i).unsafeGet()));
</del><ins>+                                m_out.store64(m_out.constInt64(value), m_out.baseIndex(heap, storage, index, JSValue(), Checked<int32_t>(sizeof(JSValue)) * i));
</ins><span class="cx">                             }
</span><span class="cx">                             index = m_out.add(index, m_out.constIntPtr(array->length()));
</span><span class="cx">                         } else {
</span><span class="lines">@@ -7625,7 +7625,7 @@
</span><span class="cx">             ASSERT(immutableButterfly->length() <= MAX_STORAGE_VECTOR_LENGTH);
</span><span class="cx"> 
</span><span class="cx">             LValue fastImmutableButterflyValue = allocateVariableSizedCell<JSImmutableButterfly>(
</span><del>-                m_out.constIntPtr(JSImmutableButterfly::allocationSize(immutableButterfly->length()).unsafeGet()),
</del><ins>+                m_out.constIntPtr(JSImmutableButterfly::allocationSize(immutableButterfly->length())),
</ins><span class="cx">                 m_graph.m_vm.immutableButterflyStructures[arrayIndexFromIndexingType(CopyOnWriteArrayWithContiguous) - NumberOfIndexingShapes].get(), slowAllocation);
</span><span class="cx">             LValue fastImmutableButterflyStorage = toButterfly(fastImmutableButterflyValue);
</span><span class="cx">             m_out.store32(m_out.constInt32(immutableButterfly->length()), fastImmutableButterflyStorage, m_heaps.Butterfly_publicLength);
</span><span class="lines">@@ -10237,7 +10237,7 @@
</span><span class="cx">                                 Checked<int32_t> currentStoreOffset { storeOffset };
</span><span class="cx">                                 currentStoreOffset -= (offsetCount * static_cast<int32_t>(sizeof(Register)));
</span><span class="cx">                                 jit.store64(scratchGPR3,
</span><del>-                                    CCallHelpers::BaseIndex(scratchGPR1, scratchGPR2, CCallHelpers::TimesEight, currentStoreOffset.unsafeGet()));
</del><ins>+                                    CCallHelpers::BaseIndex(scratchGPR1, scratchGPR2, CCallHelpers::TimesEight, currentStoreOffset));
</ins><span class="cx">                             }
</span><span class="cx">                             jit.subPtr(CCallHelpers::TrustedImmPtr(static_cast<size_t>(array->length())), scratchGPR2);
</span><span class="cx">                             return;
</span><span class="lines">@@ -10885,7 +10885,7 @@
</span><span class="cx">                     // Because forwarded values are drained as JSValue, we should not generate value
</span><span class="cx">                     // in Double form even if PhantomNewArrayBuffer's indexingType is ArrayWithDouble.
</span><span class="cx">                     int64_t value = JSValue::encode(array->get(i));
</span><del>-                    m_out.store64(m_out.constInt64(value), m_out.baseIndex(m_heaps.variables, targetStart, storeIndex, JSValue(), (Checked<int32_t>(sizeof(Register)) * i).unsafeGet()));
</del><ins>+                    m_out.store64(m_out.constInt64(value), m_out.baseIndex(m_heaps.variables, targetStart, storeIndex, JSValue(), Checked<int32_t>(sizeof(Register)) * i));
</ins><span class="cx">                 }
</span><span class="cx">                 return m_out.add(m_out.constIntPtr(array->length()), storeIndex);
</span><span class="cx">             }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreftlFTLOperationscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ftl/FTLOperations.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ftl/FTLOperations.cpp        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/ftl/FTLOperations.cpp   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -628,7 +628,7 @@
</span><span class="cx"> 
</span><span class="cx">         // FIXME: we should throw an out of memory error here if checkedArraySize has hasOverflowed() or tryCreate() fails.
</span><span class="cx">         // https://bugs.webkit.org/show_bug.cgi?id=169784
</span><del>-        unsigned arraySize = checkedArraySize.unsafeGet(); // Crashes if overflowed.
</del><ins>+        unsigned arraySize = checkedArraySize; // Crashes if overflowed.
</ins><span class="cx">         JSArray* result = JSArray::tryCreate(vm, structure, arraySize);
</span><span class="cx">         RELEASE_ASSERT(result);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreheapHeapcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/heap/Heap.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/heap/Heap.cpp        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/heap/Heap.cpp   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -517,7 +517,7 @@
</span><span class="cx">     // https://bugs.webkit.org/show_bug.cgi?id=170411
</span><span class="cx">     CheckedSize checkedNewSize = m_deprecatedExtraMemorySize;
</span><span class="cx">     checkedNewSize += size;
</span><del>-    m_deprecatedExtraMemorySize = UNLIKELY(checkedNewSize.hasOverflowed()) ? std::numeric_limits<size_t>::max() : checkedNewSize.unsafeGet();
</del><ins>+    m_deprecatedExtraMemorySize = UNLIKELY(checkedNewSize.hasOverflowed()) ? std::numeric_limits<size_t>::max() : checkedNewSize.value();
</ins><span class="cx">     reportExtraMemoryAllocatedSlowCase(size);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -826,7 +826,7 @@
</span><span class="cx">     CheckedSize checkedTotal = m_extraMemorySize;
</span><span class="cx">     checkedTotal += m_deprecatedExtraMemorySize;
</span><span class="cx">     checkedTotal += m_arrayBuffers.size();
</span><del>-    size_t total = UNLIKELY(checkedTotal.hasOverflowed()) ? std::numeric_limits<size_t>::max() : checkedTotal.unsafeGet();
</del><ins>+    size_t total = UNLIKELY(checkedTotal.hasOverflowed()) ? std::numeric_limits<size_t>::max() : checkedTotal.value();
</ins><span class="cx"> 
</span><span class="cx">     ASSERT(m_objectSpace.capacity() >= m_objectSpace.size());
</span><span class="cx">     return std::min(total, std::numeric_limits<size_t>::max() - m_objectSpace.capacity());
</span><span class="lines">@@ -2255,7 +2255,7 @@
</span><span class="cx">     if (ASSERT_ENABLED) {
</span><span class="cx">         CheckedSize checkedCurrentHeapSize = m_totalBytesVisited;
</span><span class="cx">         checkedCurrentHeapSize += extraMemorySize();
</span><del>-        ASSERT(!checkedCurrentHeapSize.hasOverflowed() && checkedCurrentHeapSize.unsafeGet() == currentHeapSize);
</del><ins>+        ASSERT(!checkedCurrentHeapSize.hasOverflowed() && checkedCurrentHeapSize == currentHeapSize);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (verbose)
</span><span class="lines">@@ -2558,7 +2558,7 @@
</span><span class="cx">         // https://bugs.webkit.org/show_bug.cgi?id=170411
</span><span class="cx">         CheckedSize checkedNewSize = oldSize;
</span><span class="cx">         checkedNewSize += size;
</span><del>-        size_t newSize = UNLIKELY(checkedNewSize.hasOverflowed()) ? std::numeric_limits<size_t>::max() : checkedNewSize.unsafeGet();
</del><ins>+        size_t newSize = UNLIKELY(checkedNewSize.hasOverflowed()) ? std::numeric_limits<size_t>::max() : checkedNewSize.value();
</ins><span class="cx">         if (WTF::atomicCompareExchangeWeakRelaxed(counter, oldSize, newSize))
</span><span class="cx">             return;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreheapSlotVisitorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/heap/SlotVisitor.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/heap/SlotVisitor.cpp 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/heap/SlotVisitor.cpp    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -415,7 +415,7 @@
</span><span class="cx">         if (m_extraMemorySize.hasOverflowed())
</span><span class="cx">             heap()->reportExtraMemoryVisited(std::numeric_limits<size_t>::max());
</span><span class="cx">         else if (m_extraMemorySize)
</span><del>-            heap()->reportExtraMemoryVisited(m_extraMemorySize.unsafeGet());
</del><ins>+            heap()->reportExtraMemoryVisited(m_extraMemorySize);
</ins><span class="cx">         m_extraMemorySize = 0;
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeArgListcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ArgList.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ArgList.cpp  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/ArgList.cpp     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -68,19 +68,19 @@
</span><span class="cx"> void MarkedArgumentBuffer::slowEnsureCapacity(size_t requestedCapacity)
</span><span class="cx"> {
</span><span class="cx">     setNeedsOverflowCheck();
</span><del>-    auto checkedNewCapacity = Checked<int, RecordOverflow>(requestedCapacity);
</del><ins>+    auto checkedNewCapacity = CheckedInt32(requestedCapacity);
</ins><span class="cx">     if (UNLIKELY(checkedNewCapacity.hasOverflowed()))
</span><span class="cx">         return this->overflowed();
</span><del>-    expandCapacity(checkedNewCapacity.unsafeGet());
</del><ins>+    expandCapacity(checkedNewCapacity);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MarkedArgumentBuffer::expandCapacity()
</span><span class="cx"> {
</span><span class="cx">     setNeedsOverflowCheck();
</span><del>-    auto checkedNewCapacity = Checked<int, RecordOverflow>(m_capacity) * 2;
</del><ins>+    auto checkedNewCapacity = CheckedInt32(m_capacity) * 2;
</ins><span class="cx">     if (UNLIKELY(checkedNewCapacity.hasOverflowed()))
</span><span class="cx">         return this->overflowed();
</span><del>-    expandCapacity(checkedNewCapacity.unsafeGet());
</del><ins>+    expandCapacity(checkedNewCapacity);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MarkedArgumentBuffer::expandCapacity(int newCapacity)
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx">     auto checkedSize = CheckedSize(newCapacity) * sizeof(EncodedJSValue);
</span><span class="cx">     if (UNLIKELY(checkedSize.hasOverflowed()))
</span><span class="cx">         return this->overflowed();
</span><del>-    EncodedJSValue* newBuffer = static_cast<EncodedJSValue*>(Gigacage::tryMalloc(Gigacage::JSValue, checkedSize.unsafeGet()));
</del><ins>+    EncodedJSValue* newBuffer = static_cast<EncodedJSValue*>(Gigacage::tryMalloc(Gigacage::JSValue, checkedSize));
</ins><span class="cx">     if (!newBuffer)
</span><span class="cx">         return this->overflowed();
</span><span class="cx">     for (int i = 0; i < m_size; ++i) {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeArrayPrototypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -1478,7 +1478,7 @@
</span><span class="cx">     Butterfly* firstButterfly = first->butterfly();
</span><span class="cx">     unsigned firstArraySize = firstButterfly->publicLength();
</span><span class="cx"> 
</span><del>-    Checked<unsigned, RecordOverflow> checkedResultSize = firstArraySize;
</del><ins>+    CheckedUint32 checkedResultSize = firstArraySize;
</ins><span class="cx">     checkedResultSize += 1;
</span><span class="cx">     if (UNLIKELY(checkedResultSize.hasOverflowed())) {
</span><span class="cx">         throwOutOfMemoryError(globalObject, scope);
</span><span class="lines">@@ -1485,7 +1485,7 @@
</span><span class="cx">         return encodedJSValue();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    unsigned resultSize = checkedResultSize.unsafeGet();
</del><ins>+    unsigned resultSize = checkedResultSize;
</ins><span class="cx">     IndexingType type = first->mergeIndexingTypeForCopying(indexingTypeForValue(second) | IsArray);
</span><span class="cx">     
</span><span class="cx">     if (type == NonArray)
</span><span class="lines">@@ -1571,7 +1571,7 @@
</span><span class="cx">     unsigned firstArraySize = firstButterfly->publicLength();
</span><span class="cx">     unsigned secondArraySize = secondButterfly->publicLength();
</span><span class="cx"> 
</span><del>-    Checked<unsigned, RecordOverflow> checkedResultSize = firstArraySize;
</del><ins>+    CheckedUint32 checkedResultSize = firstArraySize;
</ins><span class="cx">     checkedResultSize += secondArraySize;
</span><span class="cx"> 
</span><span class="cx">     if (UNLIKELY(checkedResultSize.hasOverflowed())) {
</span><span class="lines">@@ -1579,7 +1579,7 @@
</span><span class="cx">         return encodedJSValue();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    unsigned resultSize = checkedResultSize.unsafeGet();
</del><ins>+    unsigned resultSize = checkedResultSize;
</ins><span class="cx">     IndexingType firstType = firstArray->indexingType();
</span><span class="cx">     IndexingType secondType = secondArray->indexingType();
</span><span class="cx">     IndexingType type = firstArray->mergeIndexingTypeForCopying(secondType);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCommonSlowPathscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -1403,7 +1403,7 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    Checked<unsigned, RecordOverflow> checkedArraySize = 0;
</del><ins>+    CheckedUint32 checkedArraySize = 0;
</ins><span class="cx">     for (int i = 0; i < numItems; i++) {
</span><span class="cx">         if (bitVector.get(i)) {
</span><span class="cx">             JSValue value = values[-i];
</span><span class="lines">@@ -1415,7 +1415,7 @@
</span><span class="cx">     if (UNLIKELY(checkedArraySize.hasOverflowed()))
</span><span class="cx">         THROW(createOutOfMemoryError(globalObject));
</span><span class="cx"> 
</span><del>-    unsigned arraySize = checkedArraySize.unsafeGet();
</del><ins>+    unsigned arraySize = checkedArraySize;
</ins><span class="cx">     if (UNLIKELY(arraySize >= MIN_ARRAY_STORAGE_CONSTRUCTION_LENGTH))
</span><span class="cx">         THROW(createOutOfMemoryError(globalObject));
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeDirectArgumentsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/DirectArguments.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/DirectArguments.h    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/DirectArguments.h       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -163,7 +163,7 @@
</span><span class="cx">     
</span><span class="cx">     static size_t offsetOfSlot(Checked<size_t> index)
</span><span class="cx">     {
</span><del>-        return (storageOffset() + sizeof(WriteBarrier<Unknown>) * index).unsafeGet();
</del><ins>+        return storageOffset() + sizeof(WriteBarrier<Unknown>) * index;
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     static size_t allocationSize(Checked<size_t> capacity)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeHashMapImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/HashMapImpl.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/HashMapImpl.h        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/HashMapImpl.h   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -201,7 +201,7 @@
</span><span class="cx"> 
</span><span class="cx">     static size_t allocationSize(Checked<size_t> capacity)
</span><span class="cx">     {
</span><del>-        return (capacity * sizeof(BucketType*)).unsafeGet();
</del><ins>+        return capacity * sizeof(BucketType*);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ALWAYS_INLINE BucketType** buffer() const
</span><span class="lines">@@ -267,7 +267,7 @@
</span><span class="cx">         , m_keyCount(0)
</span><span class="cx">         , m_deleteCount(0)
</span><span class="cx">     {
</span><del>-        uint32_t capacity = ((Checked<uint32_t>(sizeHint) * 2) + 1).unsafeGet();
</del><ins>+        uint32_t capacity = (Checked<uint32_t>(sizeHint) * 2) + 1;
</ins><span class="cx">         capacity = std::max<uint32_t>(WTF::roundUpToPowerOfTwo(capacity), 4U);
</span><span class="cx">         m_capacity = capacity;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeHashMapImplInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/HashMapImplInlines.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/HashMapImplInlines.h 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/HashMapImplInlines.h    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -169,7 +169,7 @@
</span><span class="cx">         // at the same capacity).
</span><span class="cx">         return capacity;
</span><span class="cx">     }
</span><del>-    return (Checked<uint32_t>(capacity) * 2).unsafeGet();
</del><ins>+    return Checked<uint32_t>(capacity) * 2;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template <typename HashMapBucketType>
</span><span class="lines">@@ -193,7 +193,7 @@
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx"> 
</span><span class="cx">     // This size should be the same to the case when you clone the map by calling add() repeatedly.
</span><del>-    uint32_t capacity = ((Checked<uint32_t>(base->m_keyCount) * 2) + 1).unsafeGet();
</del><ins>+    uint32_t capacity = (Checked<uint32_t>(base->m_keyCount) * 2) + 1;
</ins><span class="cx">     RELEASE_ASSERT(capacity <= (1U << 31));
</span><span class="cx">     capacity = std::max<uint32_t>(WTF::roundUpToPowerOfTwo(capacity), 4U);
</span><span class="cx">     m_capacity = capacity;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSBigIntcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSBigInt.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSBigInt.cpp 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/JSBigInt.cpp    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -2527,8 +2527,8 @@
</span><span class="cx"> 
</span><span class="cx">         if (!heapResult) {
</span><span class="cx">             if (p == length) {
</span><del>-                ASSERT(digit.unsafeGet() <= static_cast<uint64_t>(std::numeric_limits<int64_t>::max()));
-                int64_t maybeResult = digit.unsafeGet();
</del><ins>+                ASSERT(digit <= static_cast<uint64_t>(std::numeric_limits<int64_t>::max()));
+                int64_t maybeResult = digit;
</ins><span class="cx">                 ASSERT(maybeResult >= 0);
</span><span class="cx">                 if (sign == ParseIntSign::Signed)
</span><span class="cx">                     maybeResult *= -1;
</span><span class="lines">@@ -2547,9 +2547,9 @@
</span><span class="cx">             heapResult->initialize(InitializationType::WithZero);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        ASSERT(static_cast<uint64_t>(static_cast<Digit>(multiplier.unsafeGet())) == multiplier.unsafeGet());
-        ASSERT(static_cast<uint64_t>(static_cast<Digit>(digit.unsafeGet())) == digit.unsafeGet());
-        heapResult->inplaceMultiplyAdd(static_cast<Digit>(multiplier.unsafeGet()), static_cast<Digit>(digit.unsafeGet()));
</del><ins>+        ASSERT(static_cast<uint64_t>(static_cast<Digit>(multiplier)) == multiplier);
+        ASSERT(static_cast<uint64_t>(static_cast<Digit>(digit)) == digit);
+        heapResult->inplaceMultiplyAdd(static_cast<Digit>(multiplier), static_cast<Digit>(digit));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     heapResult->setSign(sign == ParseIntSign::Signed);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSImmutableButterflyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSImmutableButterfly.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSImmutableButterfly.h       2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/JSImmutableButterfly.h  2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx">             return nullptr;
</span><span class="cx"> 
</span><span class="cx">         // Because of the above maximumLength requirement, allocationSize can never overflow.
</span><del>-        void* buffer = tryAllocateCell<JSImmutableButterfly>(vm.heap, allocationSize(length).unsafeGet());
</del><ins>+        void* buffer = tryAllocateCell<JSImmutableButterfly>(vm.heap, allocationSize(length));
</ins><span class="cx">         if (UNLIKELY(!buffer))
</span><span class="cx">             return nullptr;
</span><span class="cx">         JSImmutableButterfly* result = new (NotNull, buffer) JSImmutableButterfly(vm, structure, length);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSLexicalEnvironmenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSLexicalEnvironment.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSLexicalEnvironment.h       2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/JSLexicalEnvironment.h  2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -74,12 +74,12 @@
</span><span class="cx">     static size_t offsetOfVariable(ScopeOffset offset)
</span><span class="cx">     {
</span><span class="cx">         Checked<size_t> scopeOffset = offset.offset();
</span><del>-        return (offsetOfVariables() + scopeOffset * sizeof(WriteBarrier<Unknown>)).unsafeGet();
</del><ins>+        return offsetOfVariables() + scopeOffset * sizeof(WriteBarrier<Unknown>);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static size_t allocationSizeForScopeSize(Checked<size_t> scopeSize)
</span><span class="cx">     {
</span><del>-        return (offsetOfVariables() + scopeSize * sizeof(WriteBarrier<Unknown>)).unsafeGet();
</del><ins>+        return offsetOfVariables() + scopeSize * sizeof(WriteBarrier<Unknown>);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static size_t allocationSize(SymbolTable* symbolTable)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSObject.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSObject.h   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/JSObject.h      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -1186,7 +1186,7 @@
</span><span class="cx"> 
</span><span class="cx">     static size_t allocationSize(Checked<size_t> inlineCapacity)
</span><span class="cx">     {
</span><del>-        return (sizeof(JSObject) + inlineCapacity * sizeof(WriteBarrierBase<Unknown>)).unsafeGet();
</del><ins>+        return sizeof(JSObject) + inlineCapacity * sizeof(WriteBarrierBase<Unknown>);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static inline const TypeInfo typeInfo() { return TypeInfo(FinalObjectType, StructureFlags); }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSPropertyNameEnumeratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSPropertyNameEnumerator.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSPropertyNameEnumerator.cpp 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/JSPropertyNameEnumerator.cpp    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> JSPropertyNameEnumerator* JSPropertyNameEnumerator::create(VM& vm, Structure* structure, uint32_t indexedLength, uint32_t numberStructureProperties, PropertyNameArray&& propertyNames)
</span><span class="cx"> {
</span><span class="cx">     unsigned propertyNamesSize = propertyNames.size();
</span><del>-    unsigned propertyNamesBufferSizeInBytes = (Checked<unsigned>(propertyNamesSize) * sizeof(WriteBarrier<JSString>)).unsafeGet();
</del><ins>+    unsigned propertyNamesBufferSizeInBytes = Checked<unsigned>(propertyNamesSize) * sizeof(WriteBarrier<JSString>);
</ins><span class="cx">     WriteBarrier<JSString>* propertyNamesBuffer = nullptr;
</span><span class="cx">     if (propertyNamesBufferSizeInBytes) {
</span><span class="cx">         propertyNamesBuffer = static_cast<WriteBarrier<JSString>*>(vm.jsValueGigacageAuxiliarySpace.allocateNonVirtual(vm, propertyNamesBufferSizeInBytes, nullptr, AllocationFailureMode::Assert));
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSStringh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSString.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSString.h   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/JSString.h      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -395,9 +395,9 @@
</span><span class="cx">                 this->overflowed();
</span><span class="cx">                 return false;
</span><span class="cx">             }
</span><del>-            ASSERT(static_cast<unsigned>(sum.unsafeGet()) <= MaxLength);
</del><ins>+            ASSERT(static_cast<unsigned>(sum) <= MaxLength);
</ins><span class="cx">             m_strings.append(jsString);
</span><del>-            m_length = static_cast<unsigned>(sum.unsafeGet());
</del><ins>+            m_length = static_cast<unsigned>(sum);
</ins><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeScopedArgumentscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ScopedArguments.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ScopedArguments.cpp  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/ScopedArguments.cpp     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx">     WriteBarrier<Unknown>* storage = nullptr;
</span><span class="cx">     if (totalLength > table->length()) {
</span><span class="cx">         Checked<unsigned> overflowLength = totalLength - table->length();
</span><del>-        storage = static_cast<WriteBarrier<Unknown>*>(vm.jsValueGigacageAuxiliarySpace.allocateNonVirtual(vm, (overflowLength * sizeof(WriteBarrier<Unknown>)).unsafeGet(), nullptr, AllocationFailureMode::Assert));
</del><ins>+        storage = static_cast<WriteBarrier<Unknown>*>(vm.jsValueGigacageAuxiliarySpace.allocateNonVirtual(vm, overflowLength * sizeof(WriteBarrier<Unknown>), nullptr, AllocationFailureMode::Assert));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ScopedArguments* result = new (
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeStringPrototypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -312,7 +312,7 @@
</span><span class="cx">     Checked<int, AssertNoOverflow> totalLength = 0;
</span><span class="cx">     for (int i = 0; i < rangeCount; i++)
</span><span class="cx">         totalLength += substringRanges[i].length;
</span><del>-    ASSERT(totalLength <= String::MaxLength);
</del><ins>+    ASSERT(totalLength <= static_cast<int>(String::MaxLength));
</ins><span class="cx"> 
</span><span class="cx">     if (!totalLength)
</span><span class="cx">         return jsEmptyString(vm);
</span><span class="lines">@@ -320,7 +320,7 @@
</span><span class="cx">     if (source.is8Bit()) {
</span><span class="cx">         LChar* buffer;
</span><span class="cx">         const LChar* sourceData = source.characters8();
</span><del>-        auto impl = StringImpl::tryCreateUninitialized(totalLength.unsafeGet(), buffer);
</del><ins>+        auto impl = StringImpl::tryCreateUninitialized(totalLength, buffer);
</ins><span class="cx">         if (!impl) {
</span><span class="cx">             throwOutOfMemoryError(globalObject, scope);
</span><span class="cx">             return nullptr;
</span><span class="lines">@@ -329,7 +329,7 @@
</span><span class="cx">         Checked<int, AssertNoOverflow> bufferPos = 0;
</span><span class="cx">         for (int i = 0; i < rangeCount; i++) {
</span><span class="cx">             if (int srcLen = substringRanges[i].length) {
</span><del>-                StringImpl::copyCharacters(buffer + bufferPos.unsafeGet(), sourceData + substringRanges[i].position, srcLen);
</del><ins>+                StringImpl::copyCharacters(buffer + bufferPos.value(), sourceData + substringRanges[i].position, srcLen);
</ins><span class="cx">                 bufferPos += srcLen;
</span><span class="cx">             }
</span><span class="cx">         }
</span><span class="lines">@@ -340,7 +340,7 @@
</span><span class="cx">     UChar* buffer;
</span><span class="cx">     const UChar* sourceData = source.characters16();
</span><span class="cx"> 
</span><del>-    auto impl = StringImpl::tryCreateUninitialized(totalLength.unsafeGet(), buffer);
</del><ins>+    auto impl = StringImpl::tryCreateUninitialized(totalLength, buffer);
</ins><span class="cx">     if (!impl) {
</span><span class="cx">         throwOutOfMemoryError(globalObject, scope);
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -349,7 +349,7 @@
</span><span class="cx">     Checked<int, AssertNoOverflow> bufferPos = 0;
</span><span class="cx">     for (int i = 0; i < rangeCount; i++) {
</span><span class="cx">         if (int srcLen = substringRanges[i].length) {
</span><del>-            StringImpl::copyCharacters(buffer + bufferPos.unsafeGet(), sourceData + substringRanges[i].position, srcLen);
</del><ins>+            StringImpl::copyCharacters(buffer + bufferPos.value(), sourceData + substringRanges[i].position, srcLen);
</ins><span class="cx">             bufferPos += srcLen;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -399,7 +399,7 @@
</span><span class="cx">         LChar* buffer;
</span><span class="cx">         const LChar* sourceData = source.characters8();
</span><span class="cx"> 
</span><del>-        auto impl = StringImpl::tryCreateUninitialized(totalLength.unsafeGet(), buffer);
</del><ins>+        auto impl = StringImpl::tryCreateUninitialized(totalLength, buffer);
</ins><span class="cx">         if (!impl) {
</span><span class="cx">             throwOutOfMemoryError(globalObject, scope);
</span><span class="cx">             return nullptr;
</span><span class="lines">@@ -410,13 +410,13 @@
</span><span class="cx">         for (int i = 0; i < maxCount; i++) {
</span><span class="cx">             if (i < rangeCount) {
</span><span class="cx">                 if (int srcLen = substringRanges[i].length) {
</span><del>-                    StringImpl::copyCharacters(buffer + bufferPos.unsafeGet(), sourceData + substringRanges[i].position, srcLen);
</del><ins>+                    StringImpl::copyCharacters(buffer + bufferPos.value(), sourceData + substringRanges[i].position, srcLen);
</ins><span class="cx">                     bufferPos += srcLen;
</span><span class="cx">                 }
</span><span class="cx">             }
</span><span class="cx">             if (i < separatorCount) {
</span><span class="cx">                 if (int sepLen = separators[i].length()) {
</span><del>-                    StringImpl::copyCharacters(buffer + bufferPos.unsafeGet(), separators[i].characters8(), sepLen);
</del><ins>+                    StringImpl::copyCharacters(buffer + bufferPos.value(), separators[i].characters8(), sepLen);
</ins><span class="cx">                     bufferPos += sepLen;
</span><span class="cx">                 }
</span><span class="cx">             }
</span><span class="lines">@@ -426,7 +426,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     UChar* buffer;
</span><del>-    auto impl = StringImpl::tryCreateUninitialized(totalLength.unsafeGet(), buffer);
</del><ins>+    auto impl = StringImpl::tryCreateUninitialized(totalLength, buffer);
</ins><span class="cx">     if (!impl) {
</span><span class="cx">         throwOutOfMemoryError(globalObject, scope);
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -438,9 +438,9 @@
</span><span class="cx">         if (i < rangeCount) {
</span><span class="cx">             if (int srcLen = substringRanges[i].length) {
</span><span class="cx">                 if (source.is8Bit())
</span><del>-                    StringImpl::copyCharacters(buffer + bufferPos.unsafeGet(), source.characters8() + substringRanges[i].position, srcLen);
</del><ins>+                    StringImpl::copyCharacters(buffer + bufferPos.value(), source.characters8() + substringRanges[i].position, srcLen);
</ins><span class="cx">                 else
</span><del>-                    StringImpl::copyCharacters(buffer + bufferPos.unsafeGet(), source.characters16() + substringRanges[i].position, srcLen);
</del><ins>+                    StringImpl::copyCharacters(buffer + bufferPos.value(), source.characters16() + substringRanges[i].position, srcLen);
</ins><span class="cx">                 bufferPos += srcLen;
</span><span class="cx">             }
</span><span class="cx">         }
</span><span class="lines">@@ -447,9 +447,9 @@
</span><span class="cx">         if (i < separatorCount) {
</span><span class="cx">             if (int sepLen = separators[i].length()) {
</span><span class="cx">                 if (separators[i].is8Bit())
</span><del>-                    StringImpl::copyCharacters(buffer + bufferPos.unsafeGet(), separators[i].characters8(), sepLen);
</del><ins>+                    StringImpl::copyCharacters(buffer + bufferPos.value(), separators[i].characters8(), sepLen);
</ins><span class="cx">                 else
</span><del>-                    StringImpl::copyCharacters(buffer + bufferPos.unsafeGet(), separators[i].characters16(), sepLen);
</del><ins>+                    StringImpl::copyCharacters(buffer + bufferPos.value(), separators[i].characters16(), sepLen);
</ins><span class="cx">                 bufferPos += sepLen;
</span><span class="cx">             }
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeStructureChaincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/StructureChain.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/StructureChain.cpp   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/StructureChain.cpp      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     for (JSObject* current = head; current; current = current->structure(vm)->storedPrototypeObject(current))
</span><span class="cx">         ++size;
</span><span class="cx">     ++size; // Sentinel nullptr.
</span><del>-    size_t bytes = (Checked<size_t>(size) * sizeof(StructureID)).unsafeGet();
</del><ins>+    size_t bytes = Checked<size_t>(size) * sizeof(StructureID);
</ins><span class="cx">     StructureID* vector = static_cast<StructureID*>(vm.jsValueGigacageAuxiliarySpace.allocateNonVirtual(vm, bytes, nullptr, AllocationFailureMode::Assert));
</span><span class="cx">     memset(vector, 0, bytes);
</span><span class="cx">     StructureChain* chain = new (NotNull, allocateCell<StructureChain>(vm.heap)) StructureChain(vm, vm.structureChainStructure.get(), vector);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeVMh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/VM.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/VM.h 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/VM.h    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -259,7 +259,7 @@
</span><span class="cx">         return result;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static size_t allocationSize(Checked<size_t> bufferSize) { return (sizeof(ScratchBuffer) + bufferSize).unsafeGet(); }
</del><ins>+    static size_t allocationSize(Checked<size_t> bufferSize) { return sizeof(ScratchBuffer) + bufferSize; }
</ins><span class="cx">     void setActiveLength(size_t activeLength) { u.m_activeLength = activeLength; }
</span><span class="cx">     size_t activeLength() const { return u.m_activeLength; };
</span><span class="cx">     size_t* addressOfActiveLength() { return &u.m_activeLength; };
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeWeakMapImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/WeakMapImpl.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/WeakMapImpl.h        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/runtime/WeakMapImpl.h   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -160,7 +160,7 @@
</span><span class="cx"> 
</span><span class="cx">     static size_t allocationSize(Checked<size_t> capacity)
</span><span class="cx">     {
</span><del>-        return (capacity * sizeof(BucketType)).unsafeGet();
</del><ins>+        return capacity * sizeof(BucketType);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ALWAYS_INLINE BucketType* buffer() const
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWasmAirIRGeneratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -850,11 +850,11 @@
</span><span class="cx">                 // This allows us to elide stack checks in the Wasm -> Embedder call IC stub. Since these will
</span><span class="cx">                 // spill all arguments to the stack, we ensure that a stack check here covers the
</span><span class="cx">                 // stack that such a stub would use.
</span><del>-                (Checked<uint32_t>(m_maxNumJSCallArguments) * sizeof(Register) + jsCallingConvention().headerSizeInBytes).unsafeGet()
</del><ins>+                Checked<uint32_t>(m_maxNumJSCallArguments) * sizeof(Register) + jsCallingConvention().headerSizeInBytes
</ins><span class="cx">             ));
</span><del>-            const int32_t checkSize = m_makesCalls ? (wasmFrameSize + extraFrameSize).unsafeGet() : wasmFrameSize.unsafeGet();
</del><ins>+            const int32_t checkSize = m_makesCalls ? (wasmFrameSize + extraFrameSize).value() : wasmFrameSize.value();
</ins><span class="cx">             bool needUnderflowCheck = static_cast<unsigned>(checkSize) > Options::reservedZoneSize();
</span><del>-            bool needsOverflowCheck = m_makesCalls || wasmFrameSize >= minimumParentCheckSize || needUnderflowCheck;
</del><ins>+            bool needsOverflowCheck = m_makesCalls || wasmFrameSize >= static_cast<int32_t>(minimumParentCheckSize) || needUnderflowCheck;
</ins><span class="cx"> 
</span><span class="cx">             // This allows leaf functions to not do stack checks if their frame size is within
</span><span class="cx">             // certain limits since their caller would have already done the check.
</span><span class="lines">@@ -3155,7 +3155,7 @@
</span><span class="cx">     Checked<size_t> newSize = checkedSum<size_t>(patchArgs.size(), args.size());
</span><span class="cx">     RELEASE_ASSERT(!newSize.hasOverflowed());
</span><span class="cx"> 
</span><del>-    patchArgs.grow(newSize.unsafeGet());
</del><ins>+    patchArgs.grow(newSize);
</ins><span class="cx">     for (unsigned i = 0; i < args.size(); ++i)
</span><span class="cx">         patchArgs[i + offset] = ConstrainedTmp(args[i], locations.params[i]);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWasmB3IRGeneratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -521,11 +521,11 @@
</span><span class="cx">                 // This allows us to elide stack checks in the Wasm -> Embedder call IC stub. Since these will
</span><span class="cx">                 // spill all arguments to the stack, we ensure that a stack check here covers the
</span><span class="cx">                 // stack that such a stub would use.
</span><del>-                (Checked<uint32_t>(m_maxNumJSCallArguments) * sizeof(Register) + JSCallingConvention::headerSizeInBytes).unsafeGet()
</del><ins>+                Checked<uint32_t>(m_maxNumJSCallArguments) * sizeof(Register) + JSCallingConvention::headerSizeInBytes
</ins><span class="cx">             ));
</span><del>-            const int32_t checkSize = m_makesCalls ? (wasmFrameSize + extraFrameSize).unsafeGet() : wasmFrameSize.unsafeGet();
</del><ins>+            const int32_t checkSize = m_makesCalls ? (wasmFrameSize + extraFrameSize).value() : wasmFrameSize.value();
</ins><span class="cx">             bool needUnderflowCheck = static_cast<unsigned>(checkSize) > Options::reservedZoneSize();
</span><del>-            bool needsOverflowCheck = m_makesCalls || wasmFrameSize >= minimumParentCheckSize || needUnderflowCheck;
</del><ins>+            bool needsOverflowCheck = m_makesCalls || wasmFrameSize >= static_cast<int32_t>(minimumParentCheckSize) || needUnderflowCheck;
</ins><span class="cx"> 
</span><span class="cx">             GPRReg contextInstance = Context::useFastTLS() ? params[0].gpr() : m_wasmContextInstanceGPR;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWasmInstancecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WasmInstance.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WasmInstance.cpp        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/wasm/WasmInstance.cpp   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> namespace {
</span><span class="cx"> size_t globalMemoryByteSize(Module& module)
</span><span class="cx"> {
</span><del>-    return (Checked<size_t>(module.moduleInformation().globals.size()) * sizeof(Register)).unsafeGet();
</del><ins>+    return Checked<size_t>(module.moduleInformation().globals.size()) * sizeof(Register);
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWasmInstanceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WasmInstance.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WasmInstance.h  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/wasm/WasmInstance.h     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -215,7 +215,7 @@
</span><span class="cx">     
</span><span class="cx">     static size_t allocationSize(Checked<size_t> numImportFunctions, Checked<size_t> numTables)
</span><span class="cx">     {
</span><del>-        return (offsetOfTail() + sizeof(ImportFunctionInfo) * numImportFunctions + sizeof(Table*) * numTables).unsafeGet();
</del><ins>+        return offsetOfTail() + sizeof(ImportFunctionInfo) * numImportFunctions + sizeof(Table*) * numTables;
</ins><span class="cx">     }
</span><span class="cx">     void* m_owner { nullptr }; // In a JS embedding, this is a JSWebAssemblyInstance*.
</span><span class="cx">     Context* m_context { nullptr };
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWasmLLIntGeneratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -169,7 +169,7 @@
</span><span class="cx">     ExpressionType push(NoConsistencyCheckTag)
</span><span class="cx">     {
</span><span class="cx">         m_maxStackSize = std::max(m_maxStackSize, ++m_stackSize);
</span><del>-        return virtualRegisterForLocal((m_stackSize - 1).unsafeGet());
</del><ins>+        return virtualRegisterForLocal(m_stackSize - 1);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ExpressionType push()
</span><span class="lines">@@ -316,7 +316,7 @@
</span><span class="cx">     {
</span><span class="cx">         startOffset = target.stackSize() + 1;
</span><span class="cx">         keep = target.branchTargetArity();
</span><del>-        drop = (m_stackSize - target.stackSize() - target.branchTargetArity()).unsafeGet();
</del><ins>+        drop = m_stackSize - target.stackSize() - target.branchTargetArity();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void dropKeep(Stack& values, const ControlType& target, bool dropValues)
</span><span class="lines">@@ -349,7 +349,7 @@
</span><span class="cx">     template<typename Functor>
</span><span class="cx">     void walkExpressionStack(Stack& expressionStack, const Functor& functor)
</span><span class="cx">     {
</span><del>-        walkExpressionStack(expressionStack, m_stackSize.unsafeGet(), functor);
</del><ins>+        walkExpressionStack(expressionStack, m_stackSize, functor);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     template<typename Functor>
</span><span class="lines">@@ -483,7 +483,7 @@
</span><span class="cx"> std::unique_ptr<FunctionCodeBlock> LLIntGenerator::finalize()
</span><span class="cx"> {
</span><span class="cx">     RELEASE_ASSERT(m_codeBlock);
</span><del>-    size_t numCalleeLocals = WTF::roundUpToMultipleOf(stackAlignmentRegisters(), m_maxStackSize.unsafeGet());
</del><ins>+    size_t numCalleeLocals = WTF::roundUpToMultipleOf(stackAlignmentRegisters(), m_maxStackSize);
</ins><span class="cx">     m_codeBlock->m_numCalleeLocals = numCalleeLocals;
</span><span class="cx">     RELEASE_ASSERT(numCalleeLocals == m_codeBlock->m_numCalleeLocals);
</span><span class="cx"> 
</span><span class="lines">@@ -574,7 +574,7 @@
</span><span class="cx">     // FIXME: we are allocating the extra space for the argument/return count in order to avoid interference, but we could do better
</span><span class="cx">     // NOTE: We increase arg count by 1 for the case of indirect calls
</span><span class="cx">     m_stackSize += std::max(signature.argumentCount() + 1, signature.returnCount()) + gprCount + fprCount + stackCount + CallFrame::headerSizeInRegisters;
</span><del>-    if (m_stackSize.unsafeGet() % stackAlignmentRegisters())
</del><ins>+    if (m_stackSize.value() % stackAlignmentRegisters())
</ins><span class="cx">         ++m_stackSize;
</span><span class="cx">     if (m_maxStackSize < m_stackSize)
</span><span class="cx">         m_maxStackSize = m_stackSize;
</span><span class="lines">@@ -583,7 +583,7 @@
</span><span class="cx">     ResultList arguments(signature.argumentCount());
</span><span class="cx">     ResultList temporaryResults(signature.returnCount());
</span><span class="cx"> 
</span><del>-    const unsigned stackOffset = m_stackSize.unsafeGet();
</del><ins>+    const unsigned stackOffset = m_stackSize;
</ins><span class="cx">     const unsigned base = stackOffset - CallFrame::headerSizeInRegisters;
</span><span class="cx"> 
</span><span class="cx">     const uint32_t gprLimit = base - stackCount - gprCount;
</span><span class="lines">@@ -876,7 +876,7 @@
</span><span class="cx">     Ref<Label> body = newEmittedLabel();
</span><span class="cx">     Ref<Label> continuation = newLabel();
</span><span class="cx"> 
</span><del>-    block = ControlType::loop(signature, m_stackSize.unsafeGet(), WTFMove(body), WTFMove(continuation));
</del><ins>+    block = ControlType::loop(signature, m_stackSize, WTFMove(body), WTFMove(continuation));
</ins><span class="cx"> 
</span><span class="cx">     Vector<VirtualRegister> osrEntryData;
</span><span class="cx">     for (uint32_t i = 0; i < m_codeBlock->m_numArguments; i++)
</span><span class="lines">@@ -904,13 +904,13 @@
</span><span class="cx"> 
</span><span class="cx"> auto LLIntGenerator::addTopLevel(BlockSignature signature) -> ControlType
</span><span class="cx"> {
</span><del>-    return ControlType::topLevel(signature, m_stackSize.unsafeGet(), newLabel());
</del><ins>+    return ControlType::topLevel(signature, m_stackSize, newLabel());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> auto LLIntGenerator::addBlock(BlockSignature signature, Stack& enclosingStack, ControlType& newBlock, Stack& newStack) -> PartialResult
</span><span class="cx"> {
</span><span class="cx">     splitStack(signature, enclosingStack, newStack);
</span><del>-    newBlock = ControlType::block(signature, m_stackSize.unsafeGet(), newLabel());
</del><ins>+    newBlock = ControlType::block(signature, m_stackSize, newLabel());
</ins><span class="cx">     return { };
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -923,7 +923,7 @@
</span><span class="cx"> 
</span><span class="cx">     WasmJfalse::emit(this, condition, alternate->bind(this));
</span><span class="cx"> 
</span><del>-    result = ControlType::if_(signature, m_stackSize.unsafeGet(), WTFMove(alternate), WTFMove(continuation));
</del><ins>+    result = ControlType::if_(signature, m_stackSize, WTFMove(alternate), WTFMove(continuation));
</ins><span class="cx">     return { };
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -941,7 +941,7 @@
</span><span class="cx"> 
</span><span class="cx">     ControlIf& control = WTF::get<ControlIf>(data);
</span><span class="cx">     emitLabel(control.m_alternate.get());
</span><del>-    data = ControlType::block(data.m_signature, m_stackSize.unsafeGet(), WTFMove(data.m_continuation));
</del><ins>+    data = ControlType::block(data.m_signature, m_stackSize, WTFMove(data.m_continuation));
</ins><span class="cx">     return { };
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWasmSignatureh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WasmSignature.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WasmSignature.h 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/wasm/WasmSignature.h    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     Type* storage(SignatureArgCount i) const { return const_cast<Signature*>(this)->storage(i); }
</span><span class="cx">     static size_t allocatedSize(Checked<SignatureArgCount> retCount, Checked<SignatureArgCount> argCount)
</span><span class="cx">     {
</span><del>-        return (sizeof(Signature) + (retCount + argCount) * sizeof(Type)).unsafeGet();
</del><ins>+        return sizeof(Signature) + (retCount + argCount) * sizeof(Type);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> public:
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWasmStreamingParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WasmStreamingParser.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WasmStreamingParser.cpp 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/wasm/WasmStreamingParser.cpp    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -256,7 +256,7 @@
</span><span class="cx">         return m_state;
</span><span class="cx"> 
</span><span class="cx">     m_totalSize += bytesSize;
</span><del>-    if (UNLIKELY(m_totalSize.hasOverflowed() || m_totalSize.unsafeGet() > maxModuleSize)) {
</del><ins>+    if (UNLIKELY(m_totalSize.hasOverflowed() || m_totalSize > maxModuleSize)) {
</ins><span class="cx">         m_state = fail("module size is too large, maximum ", maxModuleSize);
</span><span class="cx">         return m_state;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorewasmWasmTablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/wasm/WasmTable.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/wasm/WasmTable.cpp   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/wasm/WasmTable.cpp      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx">     // FIXME: It might be worth trying to pre-allocate maximum here. The spec recommends doing so.
</span><span class="cx">     // But for now, we're not doing that.
</span><span class="cx">     // FIXME this over-allocates and could be smarter about not committing all of that memory https://bugs.webkit.org/show_bug.cgi?id=181425
</span><del>-    m_jsValues = MallocPtr<WriteBarrier<Unknown>, VMMalloc>::malloc((sizeof(WriteBarrier<Unknown>) * Checked<size_t>(allocatedLength(m_length))).unsafeGet());
</del><ins>+    m_jsValues = MallocPtr<WriteBarrier<Unknown>, VMMalloc>::malloc(sizeof(WriteBarrier<Unknown>) * Checked<size_t>(allocatedLength(m_length)));
</ins><span class="cx">     for (uint32_t i = 0; i < allocatedLength(m_length); ++i) {
</span><span class="cx">         new (&m_jsValues.get()[i]) WriteBarrier<Unknown>();
</span><span class="cx">         m_jsValues.get()[i].setStartingValue(jsNull());
</span><span class="lines">@@ -100,8 +100,8 @@
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span><span class="cx">     auto checkedGrow = [&] (auto& container, auto initializer) {
</span><del>-        if (newLengthChecked.unsafeGet() > allocatedLength(m_length)) {
-            Checked reallocSizeChecked = allocatedLength(newLengthChecked.unsafeGet());
</del><ins>+        if (newLengthChecked > allocatedLength(m_length)) {
+            Checked reallocSizeChecked = allocatedLength(newLengthChecked);
</ins><span class="cx">             reallocSizeChecked *= sizeof(*container.get());
</span><span class="cx">             uint32_t reallocSize;
</span><span class="cx">             if (reallocSizeChecked.safeGet(reallocSize) == CheckedState::DidOverflow)
</span><span class="lines">@@ -195,9 +195,9 @@
</span><span class="cx"> {
</span><span class="cx">     // FIXME: It might be worth trying to pre-allocate maximum here. The spec recommends doing so.
</span><span class="cx">     // But for now, we're not doing that.
</span><del>-    m_importableFunctions = MallocPtr<WasmToWasmImportableFunction, VMMalloc>::malloc((sizeof(WasmToWasmImportableFunction) * Checked<size_t>(allocatedLength(m_length))).unsafeGet());
</del><ins>+    m_importableFunctions = MallocPtr<WasmToWasmImportableFunction, VMMalloc>::malloc(sizeof(WasmToWasmImportableFunction) * Checked<size_t>(allocatedLength(m_length)));
</ins><span class="cx">     // FIXME this over-allocates and could be smarter about not committing all of that memory https://bugs.webkit.org/show_bug.cgi?id=181425
</span><del>-    m_instances = MallocPtr<Instance*, VMMalloc>::malloc((sizeof(Instance*) * Checked<size_t>(allocatedLength(m_length))).unsafeGet());
</del><ins>+    m_instances = MallocPtr<Instance*, VMMalloc>::malloc(sizeof(Instance*) * Checked<size_t>(allocatedLength(m_length)));
</ins><span class="cx">     for (uint32_t i = 0; i < allocatedLength(m_length); ++i) {
</span><span class="cx">         new (&m_importableFunctions.get()[i]) WasmToWasmImportableFunction();
</span><span class="cx">         ASSERT(m_importableFunctions.get()[i].signatureIndex == Wasm::Signature::invalidIndex); // We rely on this in compiled code.
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreyarrYarrInterpretercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/yarr/YarrInterpreter.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/yarr/YarrInterpreter.cpp     2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/yarr/YarrInterpreter.cpp        2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx">         static size_t allocationSize(unsigned numberOfFrames)
</span><span class="cx">         {
</span><span class="cx">             static_assert(alignof(DisjunctionContext) <= sizeof(void*), "");
</span><del>-            size_t rawSize = (sizeof(DisjunctionContext) - sizeof(uintptr_t) + Checked<size_t>(numberOfFrames) * sizeof(uintptr_t)).unsafeGet();
</del><ins>+            size_t rawSize = sizeof(DisjunctionContext) - sizeof(uintptr_t) + Checked<size_t>(numberOfFrames) * sizeof(uintptr_t);
</ins><span class="cx">             size_t roundedSize = roundUpToMultipleOf<sizeof(void*)>(rawSize);
</span><span class="cx">             RELEASE_ASSERT(roundedSize >= rawSize);
</span><span class="cx">             return roundedSize;
</span><span class="lines">@@ -136,7 +136,7 @@
</span><span class="cx">         static size_t allocationSize(unsigned numberOfSubpatterns)
</span><span class="cx">         {
</span><span class="cx">             static_assert(alignof(ParenthesesDisjunctionContext) <= sizeof(void*), "");
</span><del>-            size_t rawSize = (sizeof(ParenthesesDisjunctionContext) - sizeof(unsigned) + (Checked<size_t>(numberOfSubpatterns) * 2U) * sizeof(unsigned)).unsafeGet();
</del><ins>+            size_t rawSize = sizeof(ParenthesesDisjunctionContext) - sizeof(unsigned) + (Checked<size_t>(numberOfSubpatterns) * 2U) * sizeof(unsigned);
</ins><span class="cx">             size_t roundedSize = roundUpToMultipleOf<sizeof(void*)>(rawSize);
</span><span class="cx">             RELEASE_ASSERT(roundedSize >= rawSize);
</span><span class="cx">             return roundedSize;
</span><span class="lines">@@ -148,7 +148,7 @@
</span><span class="cx"> 
</span><span class="cx">     ParenthesesDisjunctionContext* allocParenthesesDisjunctionContext(ByteDisjunction* disjunction, unsigned* output, ByteTerm& term)
</span><span class="cx">     {
</span><del>-        size_t size = (Checked<size_t>(ParenthesesDisjunctionContext::allocationSize(term.atom.parenthesesDisjunction->m_numSubpatterns)) + DisjunctionContext::allocationSize(disjunction->m_frameSize)).unsafeGet();
</del><ins>+        size_t size = Checked<size_t>(ParenthesesDisjunctionContext::allocationSize(term.atom.parenthesesDisjunction->m_numSubpatterns)) + DisjunctionContext::allocationSize(disjunction->m_frameSize);
</ins><span class="cx">         allocatorPool = allocatorPool->ensureCapacity(size);
</span><span class="cx">         RELEASE_ASSERT(allocatorPool);
</span><span class="cx">         return new (allocatorPool->alloc(size)) ParenthesesDisjunctionContext(output, term);
</span><span class="lines">@@ -1786,7 +1786,7 @@
</span><span class="cx">     {
</span><span class="cx">         m_bodyDisjunction->terms.append(ByteTerm(characterClass, invert, inputPosition));
</span><span class="cx"> 
</span><del>-        m_bodyDisjunction->terms.last().atom.quantityMaxCount = quantityMaxCount.unsafeGet();
</del><ins>+        m_bodyDisjunction->terms.last().atom.quantityMaxCount = quantityMaxCount;
</ins><span class="cx">         m_bodyDisjunction->terms.last().atom.quantityType = quantityType;
</span><span class="cx">         m_bodyDisjunction->terms.last().frameLocation = frameLocation;
</span><span class="cx">     }
</span><span class="lines">@@ -1797,7 +1797,7 @@
</span><span class="cx"> 
</span><span class="cx">         m_bodyDisjunction->terms.append(ByteTerm::BackReference(subpatternId, inputPosition));
</span><span class="cx"> 
</span><del>-        m_bodyDisjunction->terms.last().atom.quantityMaxCount = quantityMaxCount.unsafeGet();
</del><ins>+        m_bodyDisjunction->terms.last().atom.quantityMaxCount = quantityMaxCount;
</ins><span class="cx">         m_bodyDisjunction->terms.last().atom.quantityType = quantityType;
</span><span class="cx">         m_bodyDisjunction->terms.last().frameLocation = frameLocation;
</span><span class="cx">     }
</span><span class="lines">@@ -1874,9 +1874,9 @@
</span><span class="cx">         m_bodyDisjunction->terms[endTerm].atom.parenthesesWidth = endTerm - beginTerm;
</span><span class="cx">         m_bodyDisjunction->terms[endTerm].frameLocation = frameLocation;
</span><span class="cx"> 
</span><del>-        m_bodyDisjunction->terms[beginTerm].atom.quantityMaxCount = quantityMaxCount.unsafeGet();
</del><ins>+        m_bodyDisjunction->terms[beginTerm].atom.quantityMaxCount = quantityMaxCount;
</ins><span class="cx">         m_bodyDisjunction->terms[beginTerm].atom.quantityType = quantityType;
</span><del>-        m_bodyDisjunction->terms[endTerm].atom.quantityMaxCount = quantityMaxCount.unsafeGet();
</del><ins>+        m_bodyDisjunction->terms[endTerm].atom.quantityMaxCount = quantityMaxCount;
</ins><span class="cx">         m_bodyDisjunction->terms[endTerm].atom.quantityType = quantityType;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1974,8 +1974,8 @@
</span><span class="cx">         m_bodyDisjunction->terms.append(ByteTerm(ByteTerm::TypeParenthesesSubpattern, subpatternId, parenthesesDisjunction.get(), capture, inputPosition));
</span><span class="cx">         m_allParenthesesInfo.append(WTFMove(parenthesesDisjunction));
</span><span class="cx"> 
</span><del>-        m_bodyDisjunction->terms[beginTerm].atom.quantityMinCount = quantityMinCount.unsafeGet();
-        m_bodyDisjunction->terms[beginTerm].atom.quantityMaxCount = quantityMaxCount.unsafeGet();
</del><ins>+        m_bodyDisjunction->terms[beginTerm].atom.quantityMinCount = quantityMinCount;
+        m_bodyDisjunction->terms[beginTerm].atom.quantityMaxCount = quantityMaxCount;
</ins><span class="cx">         m_bodyDisjunction->terms[beginTerm].atom.quantityType = quantityType;
</span><span class="cx">         m_bodyDisjunction->terms[beginTerm].frameLocation = frameLocation;
</span><span class="cx">     }
</span><span class="lines">@@ -1996,11 +1996,11 @@
</span><span class="cx">         m_bodyDisjunction->terms[endTerm].atom.parenthesesWidth = endTerm - beginTerm;
</span><span class="cx">         m_bodyDisjunction->terms[endTerm].frameLocation = frameLocation;
</span><span class="cx"> 
</span><del>-        m_bodyDisjunction->terms[beginTerm].atom.quantityMinCount = quantityMinCount.unsafeGet();
-        m_bodyDisjunction->terms[beginTerm].atom.quantityMaxCount = quantityMaxCount.unsafeGet();
</del><ins>+        m_bodyDisjunction->terms[beginTerm].atom.quantityMinCount = quantityMinCount;
+        m_bodyDisjunction->terms[beginTerm].atom.quantityMaxCount = quantityMaxCount;
</ins><span class="cx">         m_bodyDisjunction->terms[beginTerm].atom.quantityType = quantityType;
</span><del>-        m_bodyDisjunction->terms[endTerm].atom.quantityMinCount = quantityMinCount.unsafeGet();
-        m_bodyDisjunction->terms[endTerm].atom.quantityMaxCount = quantityMaxCount.unsafeGet();
</del><ins>+        m_bodyDisjunction->terms[endTerm].atom.quantityMinCount = quantityMinCount;
+        m_bodyDisjunction->terms[endTerm].atom.quantityMaxCount = quantityMaxCount;
</ins><span class="cx">         m_bodyDisjunction->terms[endTerm].atom.quantityType = quantityType;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -2020,11 +2020,11 @@
</span><span class="cx">         m_bodyDisjunction->terms[endTerm].atom.parenthesesWidth = endTerm - beginTerm;
</span><span class="cx">         m_bodyDisjunction->terms[endTerm].frameLocation = frameLocation;
</span><span class="cx"> 
</span><del>-        m_bodyDisjunction->terms[beginTerm].atom.quantityMinCount = quantityMinCount.unsafeGet();
-        m_bodyDisjunction->terms[beginTerm].atom.quantityMaxCount = quantityMaxCount.unsafeGet();
</del><ins>+        m_bodyDisjunction->terms[beginTerm].atom.quantityMinCount = quantityMinCount;
+        m_bodyDisjunction->terms[beginTerm].atom.quantityMaxCount = quantityMaxCount;
</ins><span class="cx">         m_bodyDisjunction->terms[beginTerm].atom.quantityType = quantityType;
</span><del>-        m_bodyDisjunction->terms[endTerm].atom.quantityMinCount = quantityMinCount.unsafeGet();
-        m_bodyDisjunction->terms[endTerm].atom.quantityMaxCount = quantityMaxCount.unsafeGet();
</del><ins>+        m_bodyDisjunction->terms[endTerm].atom.quantityMinCount = quantityMinCount;
+        m_bodyDisjunction->terms[endTerm].atom.quantityMaxCount = quantityMaxCount;
</ins><span class="cx">         m_bodyDisjunction->terms[endTerm].atom.quantityType = quantityType;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -2090,27 +2090,27 @@
</span><span class="cx">             for (auto& term : alternative->m_terms) {
</span><span class="cx">                 switch (term.type) {
</span><span class="cx">                 case PatternTerm::TypeAssertionBOL:
</span><del>-                    assertionBOL((currentCountAlreadyChecked - term.inputPosition).unsafeGet());
</del><ins>+                    assertionBOL(currentCountAlreadyChecked - term.inputPosition);
</ins><span class="cx">                     break;
</span><span class="cx"> 
</span><span class="cx">                 case PatternTerm::TypeAssertionEOL:
</span><del>-                    assertionEOL((currentCountAlreadyChecked - term.inputPosition).unsafeGet());
</del><ins>+                    assertionEOL(currentCountAlreadyChecked - term.inputPosition);
</ins><span class="cx">                     break;
</span><span class="cx"> 
</span><span class="cx">                 case PatternTerm::TypeAssertionWordBoundary:
</span><del>-                    assertionWordBoundary(term.invert(), (currentCountAlreadyChecked - term.inputPosition).unsafeGet());
</del><ins>+                    assertionWordBoundary(term.invert(), currentCountAlreadyChecked - term.inputPosition);
</ins><span class="cx">                     break;
</span><span class="cx"> 
</span><span class="cx">                 case PatternTerm::TypePatternCharacter:
</span><del>-                    atomPatternCharacter(term.patternCharacter, (currentCountAlreadyChecked - term.inputPosition).unsafeGet(), term.frameLocation, term.quantityMaxCount, term.quantityType);
</del><ins>+                    atomPatternCharacter(term.patternCharacter, currentCountAlreadyChecked - term.inputPosition, term.frameLocation, term.quantityMaxCount, term.quantityType);
</ins><span class="cx">                     break;
</span><span class="cx"> 
</span><span class="cx">                 case PatternTerm::TypeCharacterClass:
</span><del>-                    atomCharacterClass(term.characterClass, term.invert(), (currentCountAlreadyChecked - term.inputPosition).unsafeGet(), term.frameLocation, term.quantityMaxCount, term.quantityType);
</del><ins>+                    atomCharacterClass(term.characterClass, term.invert(), currentCountAlreadyChecked - term.inputPosition, term.frameLocation, term.quantityMaxCount, term.quantityType);
</ins><span class="cx">                     break;
</span><span class="cx"> 
</span><span class="cx">                 case PatternTerm::TypeBackReference:
</span><del>-                    atomBackReference(term.backReferenceSubpatternId, (currentCountAlreadyChecked - term.inputPosition).unsafeGet(), term.frameLocation, term.quantityMaxCount, term.quantityType);
</del><ins>+                    atomBackReference(term.backReferenceSubpatternId, currentCountAlreadyChecked - term.inputPosition, term.frameLocation, term.quantityMaxCount, term.quantityType);
</ins><span class="cx">                     break;
</span><span class="cx"> 
</span><span class="cx">                 case PatternTerm::TypeForwardReference:
</span><span class="lines">@@ -2125,19 +2125,19 @@
</span><span class="cx">                             disjunctionAlreadyCheckedCount = term.parentheses.disjunction->m_minimumSize;
</span><span class="cx">                         else
</span><span class="cx">                             alternativeFrameLocation += YarrStackSpaceForBackTrackInfoParenthesesOnce;
</span><del>-                        unsigned delegateEndInputOffset = (currentCountAlreadyChecked - term.inputPosition).unsafeGet();
</del><ins>+                        unsigned delegateEndInputOffset = currentCountAlreadyChecked - term.inputPosition;
</ins><span class="cx">                         atomParenthesesOnceBegin(term.parentheses.subpatternId, term.capture(), disjunctionAlreadyCheckedCount + delegateEndInputOffset, term.frameLocation, alternativeFrameLocation);
</span><span class="cx">                         if (auto error = emitDisjunction(term.parentheses.disjunction, currentCountAlreadyChecked, disjunctionAlreadyCheckedCount))
</span><span class="cx">                             return error;
</span><span class="cx">                         atomParenthesesOnceEnd(delegateEndInputOffset, term.frameLocation, term.quantityMinCount, term.quantityMaxCount, term.quantityType);
</span><span class="cx">                     } else if (term.parentheses.isTerminal) {
</span><del>-                        unsigned delegateEndInputOffset = (currentCountAlreadyChecked - term.inputPosition).unsafeGet();
</del><ins>+                        unsigned delegateEndInputOffset = currentCountAlreadyChecked - term.inputPosition;
</ins><span class="cx">                         atomParenthesesTerminalBegin(term.parentheses.subpatternId, term.capture(), disjunctionAlreadyCheckedCount + delegateEndInputOffset, term.frameLocation, term.frameLocation + YarrStackSpaceForBackTrackInfoParenthesesTerminal);
</span><span class="cx">                         if (auto error = emitDisjunction(term.parentheses.disjunction, currentCountAlreadyChecked, disjunctionAlreadyCheckedCount))
</span><span class="cx">                             return error;
</span><span class="cx">                         atomParenthesesTerminalEnd(delegateEndInputOffset, term.frameLocation, term.quantityMinCount, term.quantityMaxCount, term.quantityType);
</span><span class="cx">                     } else {
</span><del>-                        unsigned delegateEndInputOffset = (currentCountAlreadyChecked - term.inputPosition).unsafeGet();
</del><ins>+                        unsigned delegateEndInputOffset = currentCountAlreadyChecked - term.inputPosition;
</ins><span class="cx">                         atomParenthesesSubpatternBegin(term.parentheses.subpatternId, term.capture(), disjunctionAlreadyCheckedCount + delegateEndInputOffset, term.frameLocation, 0);
</span><span class="cx">                         if (auto error = emitDisjunction(term.parentheses.disjunction, currentCountAlreadyChecked, 0))
</span><span class="cx">                             return error;
</span><span class="lines">@@ -2148,7 +2148,7 @@
</span><span class="cx"> 
</span><span class="cx">                 case PatternTerm::TypeParentheticalAssertion: {
</span><span class="cx">                     unsigned alternativeFrameLocation = term.frameLocation + YarrStackSpaceForBackTrackInfoParentheticalAssertion;
</span><del>-                    unsigned positiveInputOffset = (currentCountAlreadyChecked - term.inputPosition).unsafeGet();
</del><ins>+                    unsigned positiveInputOffset = currentCountAlreadyChecked - term.inputPosition;
</ins><span class="cx">                     unsigned uncheckAmount = 0;
</span><span class="cx">                     if (positiveInputOffset > term.parentheses.disjunction->m_minimumSize) {
</span><span class="cx">                         uncheckAmount = positiveInputOffset - term.parentheses.disjunction->m_minimumSize;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreyarrYarrInterpreterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/yarr/YarrInterpreter.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/yarr/YarrInterpreter.h       2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/yarr/YarrInterpreter.h  2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -115,8 +115,8 @@
</span><span class="cx">     {
</span><span class="cx">         atom.patternCharacter = ch;
</span><span class="cx">         atom.quantityType = quantityType;
</span><del>-        atom.quantityMinCount = quantityCount.unsafeGet();
-        atom.quantityMaxCount = quantityCount.unsafeGet();
</del><ins>+        atom.quantityMinCount = quantityCount;
+        atom.quantityMaxCount = quantityCount;
</ins><span class="cx">         inputPosition = inputPos;
</span><span class="cx"> 
</span><span class="cx">         switch (quantityType) {
</span><span class="lines">@@ -152,8 +152,8 @@
</span><span class="cx">         atom.casedCharacter.lo = lo;
</span><span class="cx">         atom.casedCharacter.hi = hi;
</span><span class="cx">         atom.quantityType = quantityType;
</span><del>-        atom.quantityMinCount = quantityCount.unsafeGet();
-        atom.quantityMaxCount = quantityCount.unsafeGet();
</del><ins>+        atom.quantityMinCount = quantityCount;
+        atom.quantityMaxCount = quantityCount;
</ins><span class="cx">         inputPosition = inputPos;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -214,7 +214,7 @@
</span><span class="cx">     static ByteTerm CheckInput(Checked<unsigned> count)
</span><span class="cx">     {
</span><span class="cx">         ByteTerm term(TypeCheckInput);
</span><del>-        term.checkInputCount = count.unsafeGet();
</del><ins>+        term.checkInputCount = count;
</ins><span class="cx">         return term;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -221,7 +221,7 @@
</span><span class="cx">     static ByteTerm UncheckInput(Checked<unsigned> count)
</span><span class="cx">     {
</span><span class="cx">         ByteTerm term(TypeUncheckInput);
</span><del>-        term.checkInputCount = count.unsafeGet();
</del><ins>+        term.checkInputCount = count;
</ins><span class="cx">         return term;
</span><span class="cx">     }
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreyarrYarrJITcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/yarr/YarrJIT.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/yarr/YarrJIT.cpp     2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/yarr/YarrJIT.cpp        2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -542,10 +542,10 @@
</span><span class="cx">         // as a temp address register.
</span><span class="cx">         unsigned maximumNegativeOffsetForCharacterSize = m_charSize == Char8 ? 0x7fffffff : 0x3fffffff;
</span><span class="cx">         unsigned offsetAdjustAmount = 0x40000000;
</span><del>-        if (negativeCharacterOffset.unsafeGet() > maximumNegativeOffsetForCharacterSize) {
</del><ins>+        if (negativeCharacterOffset > maximumNegativeOffsetForCharacterSize) {
</ins><span class="cx">             base = tempReg;
</span><span class="cx">             move(input, base);
</span><del>-            while (negativeCharacterOffset.unsafeGet() > maximumNegativeOffsetForCharacterSize) {
</del><ins>+            while (negativeCharacterOffset > maximumNegativeOffsetForCharacterSize) {
</ins><span class="cx">                 subPtr(TrustedImm32(offsetAdjustAmount), base);
</span><span class="cx">                 if (m_charSize != Char8)
</span><span class="cx">                     subPtr(TrustedImm32(offsetAdjustAmount), base);
</span><span class="lines">@@ -553,12 +553,12 @@
</span><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Checked<int32_t> characterOffset(-static_cast<int32_t>(negativeCharacterOffset.unsafeGet()));
</del><ins>+        Checked<int32_t> characterOffset(-static_cast<int32_t>(negativeCharacterOffset));
</ins><span class="cx"> 
</span><span class="cx">         if (m_charSize == Char8)
</span><del>-            return BaseIndex(input, indexReg, TimesOne, (characterOffset * static_cast<int32_t>(sizeof(char))).unsafeGet());
</del><ins>+            return BaseIndex(input, indexReg, TimesOne, characterOffset * static_cast<int32_t>(sizeof(char)));
</ins><span class="cx"> 
</span><del>-        return BaseIndex(input, indexReg, TimesTwo, (characterOffset * static_cast<int32_t>(sizeof(UChar))).unsafeGet());
</del><ins>+        return BaseIndex(input, indexReg, TimesTwo, characterOffset * static_cast<int32_t>(sizeof(UChar)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> #ifdef JIT_UNICODE_EXPRESSIONS
</span><span class="lines">@@ -1002,7 +1002,7 @@
</span><span class="cx"> 
</span><span class="cx">             JumpList matchDest;
</span><span class="cx">             if (!term->inputPosition)
</span><del>-                matchDest.append(branch32(Equal, index, Imm32(m_checkedOffset.unsafeGet())));
</del><ins>+                matchDest.append(branch32(Equal, index, Imm32(m_checkedOffset)));
</ins><span class="cx"> 
</span><span class="cx">             readCharacter(m_checkedOffset - term->inputPosition + 1, character);
</span><span class="cx">             matchCharacterClass(character, matchDest, m_pattern.newlineCharacterClass());
</span><span class="lines">@@ -1014,7 +1014,7 @@
</span><span class="cx">             if (term->inputPosition)
</span><span class="cx">                 op.m_jumps.append(jump());
</span><span class="cx">             else
</span><del>-                op.m_jumps.append(branch32(NotEqual, index, Imm32(m_checkedOffset.unsafeGet())));
</del><ins>+                op.m_jumps.append(branch32(NotEqual, index, Imm32(m_checkedOffset)));
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     void backtrackAssertionBOL(size_t opIndex)
</span><span class="lines">@@ -1031,7 +1031,7 @@
</span><span class="cx">             const RegisterID character = regT0;
</span><span class="cx"> 
</span><span class="cx">             JumpList matchDest;
</span><del>-            if (term->inputPosition == m_checkedOffset.unsafeGet())
</del><ins>+            if (term->inputPosition == m_checkedOffset)
</ins><span class="cx">                 matchDest.append(atEndOfInput());
</span><span class="cx"> 
</span><span class="cx">             readCharacter(m_checkedOffset - term->inputPosition, character);
</span><span class="lines">@@ -1040,7 +1040,7 @@
</span><span class="cx"> 
</span><span class="cx">             matchDest.link(this);
</span><span class="cx">         } else {
</span><del>-            if (term->inputPosition == m_checkedOffset.unsafeGet())
</del><ins>+            if (term->inputPosition == m_checkedOffset)
</ins><span class="cx">                 op.m_jumps.append(notAtEndOfInput());
</span><span class="cx">             // Erk, really should poison out these alternatives early. :-/
</span><span class="cx">             else
</span><span class="lines">@@ -1060,7 +1060,7 @@
</span><span class="cx"> 
</span><span class="cx">         const RegisterID character = regT0;
</span><span class="cx"> 
</span><del>-        if (term->inputPosition == m_checkedOffset.unsafeGet())
</del><ins>+        if (term->inputPosition == m_checkedOffset)
</ins><span class="cx">             nextIsNotWordChar.append(atEndOfInput());
</span><span class="cx"> 
</span><span class="cx">         readCharacter(m_checkedOffset - term->inputPosition, character);
</span><span class="lines">@@ -1085,7 +1085,7 @@
</span><span class="cx">         Jump atBegin;
</span><span class="cx">         JumpList matchDest;
</span><span class="cx">         if (!term->inputPosition)
</span><del>-            atBegin = branch32(Equal, index, Imm32(m_checkedOffset.unsafeGet()));
</del><ins>+            atBegin = branch32(Equal, index, Imm32(m_checkedOffset));
</ins><span class="cx">         readCharacter(m_checkedOffset - term->inputPosition + 1, character);
</span><span class="cx"> 
</span><span class="cx">         CharacterClass* wordcharCharacterClass;
</span><span class="lines">@@ -1225,7 +1225,7 @@
</span><span class="cx">                 loadFromFrame(parenthesesFrameLocation + BackTrackInfoBackReference::matchAmountIndex(), characterOrTemp);
</span><span class="cx">                 add32(TrustedImm32(1), characterOrTemp);
</span><span class="cx">                 storeToFrame(characterOrTemp, parenthesesFrameLocation + BackTrackInfoBackReference::matchAmountIndex());
</span><del>-                matches.append(branch32(Equal, Imm32(term->quantityMaxCount.unsafeGet()), characterOrTemp));
</del><ins>+                matches.append(branch32(Equal, Imm32(term->quantityMaxCount), characterOrTemp));
</ins><span class="cx">                 load32(Address(output, (subpatternId << 1) * sizeof(int)), patternIndex);
</span><span class="cx">                 load32(Address(output, ((subpatternId << 1) + 1) * sizeof(int)), patternTemp);
</span><span class="cx">                 jump(outerLoop);
</span><span class="lines">@@ -1249,7 +1249,7 @@
</span><span class="cx">             add32(TrustedImm32(1), characterOrTemp);
</span><span class="cx">             storeToFrame(characterOrTemp, parenthesesFrameLocation + BackTrackInfoBackReference::matchAmountIndex());
</span><span class="cx">             if (term->quantityMaxCount != quantifyInfinite)
</span><del>-                matches.append(branch32(Equal, Imm32(term->quantityMaxCount.unsafeGet()), characterOrTemp));
</del><ins>+                matches.append(branch32(Equal, Imm32(term->quantityMaxCount), characterOrTemp));
</ins><span class="cx">             load32(Address(output, (subpatternId << 1) * sizeof(int)), patternIndex);
</span><span class="cx">             load32(Address(output, ((subpatternId << 1) + 1) * sizeof(int)), patternTemp);
</span><span class="cx"> 
</span><span class="lines">@@ -1344,7 +1344,7 @@
</span><span class="cx">             failures.append(atEndOfInput());
</span><span class="cx">             loadFromFrame(parenthesesFrameLocation + BackTrackInfoBackReference::matchAmountIndex(), matchAmount);
</span><span class="cx">             if (term->quantityMaxCount != quantifyInfinite)
</span><del>-                failures.append(branch32(AboveOrEqual, Imm32(term->quantityMaxCount.unsafeGet()), matchAmount));
</del><ins>+                failures.append(branch32(AboveOrEqual, Imm32(term->quantityMaxCount), matchAmount));
</ins><span class="cx">             add32(TrustedImm32(1), matchAmount);
</span><span class="cx">             storeToFrame(matchAmount, parenthesesFrameLocation + BackTrackInfoBackReference::matchAmountIndex());
</span><span class="cx">             jump(op.m_reentry);
</span><span class="lines">@@ -1583,7 +1583,7 @@
</span><span class="cx">         move(index, countRegister);
</span><span class="cx">         Checked<unsigned> scaledMaxCount = term->quantityMaxCount;
</span><span class="cx">         scaledMaxCount *= U_IS_BMP(ch) ? 1 : 2;
</span><del>-        sub32(Imm32(scaledMaxCount.unsafeGet()), countRegister);
</del><ins>+        sub32(Imm32(scaledMaxCount), countRegister);
</ins><span class="cx"> 
</span><span class="cx">         Label loop(this);
</span><span class="cx">         readCharacter(m_checkedOffset - term->inputPosition - scaledMaxCount, character, countRegister);
</span><span class="lines">@@ -1642,7 +1642,7 @@
</span><span class="cx">             if (term->quantityMaxCount == quantifyInfinite)
</span><span class="cx">                 jump(loop);
</span><span class="cx">             else
</span><del>-                branch32(NotEqual, countRegister, Imm32(term->quantityMaxCount.unsafeGet())).linkTo(loop, this);
</del><ins>+                branch32(NotEqual, countRegister, Imm32(term->quantityMaxCount)).linkTo(loop, this);
</ins><span class="cx"> 
</span><span class="cx">             failures.link(this);
</span><span class="cx">         }
</span><span class="lines">@@ -1698,7 +1698,7 @@
</span><span class="cx">             JumpList nonGreedyFailures;
</span><span class="cx">             nonGreedyFailures.append(atEndOfInput());
</span><span class="cx">             if (term->quantityMaxCount != quantifyInfinite)
</span><del>-                nonGreedyFailures.append(branch32(Equal, countRegister, Imm32(term->quantityMaxCount.unsafeGet())));
</del><ins>+                nonGreedyFailures.append(branch32(Equal, countRegister, Imm32(term->quantityMaxCount)));
</ins><span class="cx">             nonGreedyFailures.append(jumpIfCharNotEquals(ch, m_checkedOffset - term->inputPosition, character));
</span><span class="cx"> 
</span><span class="cx">             add32(TrustedImm32(1), index);
</span><span class="lines">@@ -1795,7 +1795,7 @@
</span><span class="cx">         if (m_decodeSurrogatePairs && term->characterClass->hasOnlyNonBMPCharacters() && !term->invert())
</span><span class="cx">             scaledMaxCount *= 2;
</span><span class="cx"> #endif
</span><del>-        sub32(Imm32(scaledMaxCount.unsafeGet()), countRegister);
</del><ins>+        sub32(Imm32(scaledMaxCount), countRegister);
</ins><span class="cx"> 
</span><span class="cx">         Label loop(this);
</span><span class="cx">         JumpList matchDest;
</span><span class="lines">@@ -1882,7 +1882,7 @@
</span><span class="cx">         add32(TrustedImm32(1), countRegister);
</span><span class="cx"> 
</span><span class="cx">         if (term->quantityMaxCount != quantifyInfinite) {
</span><del>-            branch32(NotEqual, countRegister, Imm32(term->quantityMaxCount.unsafeGet())).linkTo(loop, this);
</del><ins>+            branch32(NotEqual, countRegister, Imm32(term->quantityMaxCount)).linkTo(loop, this);
</ins><span class="cx">             failures.append(jump());
</span><span class="cx">         } else
</span><span class="cx">             jump(loop);
</span><span class="lines">@@ -1986,7 +1986,7 @@
</span><span class="cx">         loadFromFrame(term->frameLocation + BackTrackInfoCharacterClass::matchAmountIndex(), countRegister);
</span><span class="cx"> 
</span><span class="cx">         nonGreedyFailures.append(atEndOfInput());
</span><del>-        nonGreedyFailures.append(branch32(Equal, countRegister, Imm32(term->quantityMaxCount.unsafeGet())));
</del><ins>+        nonGreedyFailures.append(branch32(Equal, countRegister, Imm32(term->quantityMaxCount)));
</ins><span class="cx"> 
</span><span class="cx">         JumpList matchDest;
</span><span class="cx">         readCharacter(m_checkedOffset - term->inputPosition, character);
</span><span class="lines">@@ -2373,7 +2373,7 @@
</span><span class="cx">                 if ((term->quantityType == QuantifierFixedCount) && (term->type != PatternTerm::TypeParentheticalAssertion))
</span><span class="cx">                     op.m_checkAdjust -= disjunction->m_minimumSize;
</span><span class="cx">                 if (op.m_checkAdjust)
</span><del>-                    op.m_jumps.append(jumpIfNoAvailableInput(op.m_checkAdjust.unsafeGet()));
</del><ins>+                    op.m_jumps.append(jumpIfNoAvailableInput(op.m_checkAdjust));
</ins><span class="cx"> 
</span><span class="cx">                 m_checkedOffset += op.m_checkAdjust;
</span><span class="cx">                 break;
</span><span class="lines">@@ -2420,7 +2420,7 @@
</span><span class="cx">                 if ((term->quantityType == QuantifierFixedCount) && (term->type != PatternTerm::TypeParentheticalAssertion))
</span><span class="cx">                     op.m_checkAdjust -= disjunction->m_minimumSize;
</span><span class="cx">                 if (op.m_checkAdjust)
</span><del>-                    op.m_jumps.append(jumpIfNoAvailableInput(op.m_checkAdjust.unsafeGet()));
</del><ins>+                    op.m_jumps.append(jumpIfNoAvailableInput(op.m_checkAdjust));
</ins><span class="cx"> 
</span><span class="cx">                 YarrOp& lastOp = m_ops[op.m_previousOp];
</span><span class="cx">                 m_checkedOffset -= lastOp.m_checkAdjust;
</span><span class="lines">@@ -2494,7 +2494,7 @@
</span><span class="cx">                 // offsets only afterwards, at the point the results array is
</span><span class="cx">                 // being accessed.
</span><span class="cx">                 if (term->capture() && compileMode == IncludeSubpatterns) {
</span><del>-                    unsigned inputOffset = (m_checkedOffset - term->inputPosition).unsafeGet();
</del><ins>+                    unsigned inputOffset = m_checkedOffset - term->inputPosition;
</ins><span class="cx">                     if (term->quantityType == QuantifierFixedCount)
</span><span class="cx">                         inputOffset += term->parentheses.disjunction->m_minimumSize;
</span><span class="cx">                     if (inputOffset) {
</span><span class="lines">@@ -2524,7 +2524,7 @@
</span><span class="cx">                 // offsets only afterwards, at the point the results array is
</span><span class="cx">                 // being accessed.
</span><span class="cx">                 if (term->capture() && compileMode == IncludeSubpatterns) {
</span><del>-                    unsigned inputOffset = (m_checkedOffset - term->inputPosition).unsafeGet();
</del><ins>+                    unsigned inputOffset = m_checkedOffset - term->inputPosition;
</ins><span class="cx">                     if (inputOffset) {
</span><span class="cx">                         move(index, indexTemporary);
</span><span class="cx">                         sub32(Imm32(inputOffset), indexTemporary);
</span><span class="lines">@@ -2631,7 +2631,7 @@
</span><span class="cx">                 // being accessed.
</span><span class="cx">                 if (term->capture() && compileMode == IncludeSubpatterns) {
</span><span class="cx">                     const RegisterID indexTemporary = regT0;
</span><del>-                    unsigned inputOffset = (m_checkedOffset - term->inputPosition).unsafeGet();
</del><ins>+                    unsigned inputOffset = m_checkedOffset - term->inputPosition;
</ins><span class="cx">                     if (term->quantityType == QuantifierFixedCount)
</span><span class="cx">                         inputOffset += term->parentheses.disjunction->m_minimumSize;
</span><span class="cx">                     if (inputOffset) {
</span><span class="lines">@@ -2673,7 +2673,7 @@
</span><span class="cx">                 if (term->capture() && compileMode == IncludeSubpatterns) {
</span><span class="cx">                     const RegisterID indexTemporary = regT0;
</span><span class="cx">                     
</span><del>-                    unsigned inputOffset = (m_checkedOffset - term->inputPosition).unsafeGet();
</del><ins>+                    unsigned inputOffset = m_checkedOffset - term->inputPosition;
</ins><span class="cx">                     if (inputOffset) {
</span><span class="cx">                         move(index, indexTemporary);
</span><span class="cx">                         sub32(Imm32(inputOffset), indexTemporary);
</span><span class="lines">@@ -2687,7 +2687,7 @@
</span><span class="cx">                 // parentheses, link the jump from before the subpattern to here.
</span><span class="cx">                 if (term->quantityType == QuantifierGreedy) {
</span><span class="cx">                     if (term->quantityMaxCount != quantifyInfinite)
</span><del>-                        branch32(Below, countTemporary, Imm32(term->quantityMaxCount.unsafeGet())).linkTo(beginOp.m_reentry, this);
</del><ins>+                        branch32(Below, countTemporary, Imm32(term->quantityMaxCount)).linkTo(beginOp.m_reentry, this);
</ins><span class="cx">                     else
</span><span class="cx">                         jump(beginOp.m_reentry);
</span><span class="cx">                     
</span><span class="lines">@@ -2715,7 +2715,7 @@
</span><span class="cx">                 // Check 
</span><span class="cx">                 op.m_checkAdjust = m_checkedOffset - term->inputPosition;
</span><span class="cx">                 if (op.m_checkAdjust)
</span><del>-                    sub32(Imm32(op.m_checkAdjust.unsafeGet()), index);
</del><ins>+                    sub32(Imm32(op.m_checkAdjust), index);
</ins><span class="cx"> 
</span><span class="cx">                 m_checkedOffset -= op.m_checkAdjust;
</span><span class="cx">                 break;
</span><span class="lines">@@ -3053,7 +3053,7 @@
</span><span class="cx">                 if (op.m_checkAdjust) {
</span><span class="cx">                     // Handle the cases where we need to link the backtracks here.
</span><span class="cx">                     m_backtrackingState.link(this);
</span><del>-                    sub32(Imm32(op.m_checkAdjust.unsafeGet()), index);
</del><ins>+                    sub32(Imm32(op.m_checkAdjust), index);
</ins><span class="cx">                     if (!isLastAlternative) {
</span><span class="cx">                         // An alternative that is not the last should jump to its successor.
</span><span class="cx">                         jump(nextOp.m_reentry);
</span><span class="lines">@@ -3336,7 +3336,7 @@
</span><span class="cx"> 
</span><span class="cx">                         if (term->quantityMaxCount != quantifyInfinite) {
</span><span class="cx">                             loadFromFrame(parenthesesFrameLocation + BackTrackInfoParentheses::matchAmountIndex(), countTemporary);
</span><del>-                            exceededMatchLimit.append(branch32(AboveOrEqual, countTemporary, Imm32(term->quantityMaxCount.unsafeGet())));
</del><ins>+                            exceededMatchLimit.append(branch32(AboveOrEqual, countTemporary, Imm32(term->quantityMaxCount)));
</ins><span class="cx">                         }
</span><span class="cx"> 
</span><span class="cx">                         branch32(Above, index, beginTemporary).linkTo(beginOp.m_reentry, this);
</span><span class="lines">@@ -3366,7 +3366,7 @@
</span><span class="cx">                      m_backtrackingState.link(this);
</span><span class="cx"> 
</span><span class="cx">                     if (op.m_checkAdjust)
</span><del>-                        add32(Imm32(op.m_checkAdjust.unsafeGet()), index);
</del><ins>+                        add32(Imm32(op.m_checkAdjust), index);
</ins><span class="cx"> 
</span><span class="cx">                     // In an inverted assertion failure to match the subpattern
</span><span class="cx">                     // is treated as a successful match - jump to the end of the
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreyarrYarrParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/yarr/YarrParser.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/yarr/YarrParser.h    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/yarr/YarrParser.h       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -1083,7 +1083,7 @@
</span><span class="cx">         Checked<unsigned, RecordOverflow> n = consumeDigit();
</span><span class="cx">         while (peekIsDigit())
</span><span class="cx">             n = n * 10 + consumeDigit();
</span><del>-        return n.hasOverflowed() ? quantifyInfinite : n.unsafeGet();
</del><ins>+        return n.hasOverflowed() ? quantifyInfinite : n.value();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // https://tc39.es/ecma262/#prod-annexB-LegacyOctalEscapeSequence
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreyarrYarrPatterncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/yarr/YarrPattern.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/yarr/YarrPattern.cpp 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/JavaScriptCore/yarr/YarrPattern.cpp    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -801,11 +801,11 @@
</span><span class="cx">             case PatternTerm::TypeAssertionBOL:
</span><span class="cx">             case PatternTerm::TypeAssertionEOL:
</span><span class="cx">             case PatternTerm::TypeAssertionWordBoundary:
</span><del>-                term.inputPosition = currentInputPosition.unsafeGet();
</del><ins>+                term.inputPosition = currentInputPosition;
</ins><span class="cx">                 break;
</span><span class="cx"> 
</span><span class="cx">             case PatternTerm::TypeBackReference:
</span><del>-                term.inputPosition = currentInputPosition.unsafeGet();
</del><ins>+                term.inputPosition = currentInputPosition;
</ins><span class="cx">                 term.frameLocation = currentCallFrameSize;
</span><span class="cx">                 currentCallFrameSize += YarrStackSpaceForBackTrackInfoBackReference;
</span><span class="cx">                 alternative->m_hasFixedSize = false;
</span><span class="lines">@@ -815,7 +815,7 @@
</span><span class="cx">                 break;
</span><span class="cx"> 
</span><span class="cx">             case PatternTerm::TypePatternCharacter:
</span><del>-                term.inputPosition = currentInputPosition.unsafeGet();
</del><ins>+                term.inputPosition = currentInputPosition;
</ins><span class="cx">                 if (term.quantityType != QuantifierFixedCount) {
</span><span class="cx">                     term.frameLocation = currentCallFrameSize;
</span><span class="cx">                     currentCallFrameSize += YarrStackSpaceForBackTrackInfoPatternCharacter;
</span><span class="lines">@@ -831,7 +831,7 @@
</span><span class="cx">                 break;
</span><span class="cx"> 
</span><span class="cx">             case PatternTerm::TypeCharacterClass:
</span><del>-                term.inputPosition = currentInputPosition.unsafeGet();
</del><ins>+                term.inputPosition = currentInputPosition;
</ins><span class="cx">                 if (term.quantityType != QuantifierFixedCount) {
</span><span class="cx">                     term.frameLocation = currentCallFrameSize;
</span><span class="cx">                     currentCallFrameSize += YarrStackSpaceForBackTrackInfoCharacterClass;
</span><span class="lines">@@ -858,23 +858,23 @@
</span><span class="cx">                 term.frameLocation = currentCallFrameSize;
</span><span class="cx">                 if (term.quantityMaxCount == 1 && !term.parentheses.isCopy) {
</span><span class="cx">                     currentCallFrameSize += YarrStackSpaceForBackTrackInfoParenthesesOnce;
</span><del>-                    error = setupDisjunctionOffsets(term.parentheses.disjunction, currentCallFrameSize, currentInputPosition.unsafeGet(), currentCallFrameSize);
</del><ins>+                    error = setupDisjunctionOffsets(term.parentheses.disjunction, currentCallFrameSize, currentInputPosition, currentCallFrameSize);
</ins><span class="cx">                     if (hasError(error))
</span><span class="cx">                         return error;
</span><span class="cx">                     // If quantity is fixed, then pre-check its minimum size.
</span><span class="cx">                     if (term.quantityType == QuantifierFixedCount)
</span><span class="cx">                         currentInputPosition += term.parentheses.disjunction->m_minimumSize;
</span><del>-                    term.inputPosition = currentInputPosition.unsafeGet();
</del><ins>+                    term.inputPosition = currentInputPosition;
</ins><span class="cx">                 } else if (term.parentheses.isTerminal) {
</span><span class="cx">                     currentCallFrameSize += YarrStackSpaceForBackTrackInfoParenthesesTerminal;
</span><del>-                    error = setupDisjunctionOffsets(term.parentheses.disjunction, currentCallFrameSize, currentInputPosition.unsafeGet(), currentCallFrameSize);
</del><ins>+                    error = setupDisjunctionOffsets(term.parentheses.disjunction, currentCallFrameSize, currentInputPosition, currentCallFrameSize);
</ins><span class="cx">                     if (hasError(error))
</span><span class="cx">                         return error;
</span><del>-                    term.inputPosition = currentInputPosition.unsafeGet();
</del><ins>+                    term.inputPosition = currentInputPosition;
</ins><span class="cx">                 } else {
</span><del>-                    term.inputPosition = currentInputPosition.unsafeGet();
</del><ins>+                    term.inputPosition = currentInputPosition;
</ins><span class="cx">                     currentCallFrameSize += YarrStackSpaceForBackTrackInfoParentheses;
</span><del>-                    error = setupDisjunctionOffsets(term.parentheses.disjunction, currentCallFrameSize, currentInputPosition.unsafeGet(), currentCallFrameSize);
</del><ins>+                    error = setupDisjunctionOffsets(term.parentheses.disjunction, currentCallFrameSize, currentInputPosition, currentCallFrameSize);
</ins><span class="cx">                     if (hasError(error))
</span><span class="cx">                         return error;
</span><span class="cx">                 }
</span><span class="lines">@@ -883,9 +883,9 @@
</span><span class="cx">                 break;
</span><span class="cx"> 
</span><span class="cx">             case PatternTerm::TypeParentheticalAssertion:
</span><del>-                term.inputPosition = currentInputPosition.unsafeGet();
</del><ins>+                term.inputPosition = currentInputPosition;
</ins><span class="cx">                 term.frameLocation = currentCallFrameSize;
</span><del>-                error = setupDisjunctionOffsets(term.parentheses.disjunction, currentCallFrameSize + YarrStackSpaceForBackTrackInfoParentheticalAssertion, currentInputPosition.unsafeGet(), currentCallFrameSize);
</del><ins>+                error = setupDisjunctionOffsets(term.parentheses.disjunction, currentCallFrameSize + YarrStackSpaceForBackTrackInfoParentheticalAssertion, currentInputPosition, currentCallFrameSize);
</ins><span class="cx">                 if (hasError(error))
</span><span class="cx">                     return error;
</span><span class="cx">                 break;
</span><span class="lines">@@ -903,7 +903,7 @@
</span><span class="cx">                 return ErrorCode::OffsetTooLarge;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        alternative->m_minimumSize = (currentInputPosition - initialInputPosition).unsafeGet();
</del><ins>+        alternative->m_minimumSize = currentInputPosition - initialInputPosition;
</ins><span class="cx">         newCallFrameSize = currentCallFrameSize;
</span><span class="cx">         return error;
</span><span class="cx">     }
</span><span class="lines">@@ -1259,12 +1259,12 @@
</span><span class="cx"> {
</span><span class="cx">     if (quantityType == QuantifierFixedCount && quantityMinCount == 1 && quantityMaxCount == 1)
</span><span class="cx">         return;
</span><del>-    out.print(" {", quantityMinCount.unsafeGet());
</del><ins>+    out.print(" {", quantityMinCount.value());
</ins><span class="cx">     if (quantityMinCount != quantityMaxCount) {
</span><span class="cx">         if (quantityMaxCount == UINT_MAX)
</span><span class="cx">             out.print(",...");
</span><span class="cx">         else
</span><del>-            out.print(",", quantityMaxCount.unsafeGet());
</del><ins>+            out.print(",", quantityMaxCount.value());
</ins><span class="cx">     }
</span><span class="cx">     out.print("}");
</span><span class="cx">     if (quantityType == QuantifierGreedy)
</span></span></pre></div>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog       2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/ChangeLog  2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -1,5 +1,56 @@
</span><span class="cx"> 2021-06-01  Chris Dumez  <cdumez@apple.com>
</span><span class="cx"> 
</span><ins>+        Rename Checked::unsafeGet() to Checked::value()
+        https://bugs.webkit.org/show_bug.cgi?id=226514
+
+        Reviewed by Darin Adler.
+
+        Rename Checked::unsafeGet() to Checked::value(). The "unsafeGet" naming is confusing as this
+        function isn't really unsafe since it will crash if the value has overflowed. Also add an
+        `operator T()` to implicitly convert a Checked to its underlying type without needing to
+        call value().
+
+        * wtf/CheckedArithmetic.h:
+        (WTF::Checked::operator! const):
+        (WTF::Checked::operator bool const):
+        (WTF::Checked::operator T const):
+        (WTF::Checked::value const):
+        (WTF::Checked::operator==):
+        (WTF::Checked::operator< const):
+        (WTF::Checked::operator<= const):
+        (WTF::Checked::operator> const):
+        (WTF::Checked::operator>= const):
+        * wtf/ConcurrentBuffer.h:
+        * wtf/FastMalloc.cpp:
+        (WTF::fastCalloc):
+        (WTF::tryFastCalloc):
+        * wtf/Gigacage.cpp:
+        (Gigacage::tryMallocArray):
+        * wtf/URLHelpers.cpp:
+        (WTF::URLHelpers::userVisibleURL):
+        * wtf/URLParser.cpp:
+        (WTF::URLParser::parseIPv4Piece):
+        * wtf/UniqueArray.h:
+        * wtf/cocoa/NSURLExtras.mm:
+        (WTF::dataWithUserTypedString):
+        * wtf/glib/SocketConnection.cpp:
+        (WTF::SocketConnection::readMessage):
+        (WTF::SocketConnection::sendMessage):
+        * wtf/text/CString.cpp:
+        (WTF::CStringBuffer::createUninitialized):
+        * wtf/text/StringBuffer.h:
+        (WTF::StringBuffer::StringBuffer):
+        * wtf/text/StringBuilderJSON.cpp:
+        (WTF::StringBuilder::appendQuotedJSONString):
+        * wtf/text/StringConcatenate.h:
+        (WTF::tryMakeStringFromAdapters):
+        * wtf/text/StringImpl.h:
+        (WTF::StringImpl::allocationSize):
+        * wtf/text/StringToIntegerConversion.h:
+        (WTF::parseInteger):
+
+2021-06-01  Chris Dumez  <cdumez@apple.com>
+
</ins><span class="cx">         Unreviewed build fix after r277881.
</span><span class="cx"> 
</span><span class="cx">         Silence unused parameter warnings.
</span></span></pre></div>
<a id="trunkSourceWTFwtfCheckedArithmetich"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/CheckedArithmetic.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/CheckedArithmetic.h 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/CheckedArithmetic.h    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -727,7 +727,7 @@
</span><span class="cx">     // Boolean operators
</span><span class="cx">     bool operator!() const
</span><span class="cx">     {
</span><del>-        if (this->hasOverflowed())
</del><ins>+        if (UNLIKELY(this->hasOverflowed()))
</ins><span class="cx">             this->crash();
</span><span class="cx">         return !m_value;
</span><span class="cx">     }
</span><span class="lines">@@ -734,16 +734,23 @@
</span><span class="cx"> 
</span><span class="cx">     explicit operator bool() const
</span><span class="cx">     {
</span><del>-        if (this->hasOverflowed())
</del><ins>+        if (UNLIKELY(this->hasOverflowed()))
</ins><span class="cx">             this->crash();
</span><span class="cx">         return m_value;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    // Value accessors. unsafeGet() will crash if there's been an overflow.
</del><ins>+    operator T() const
+    {
+        if (UNLIKELY(this->hasOverflowed()))
+            this->crash();
+        return m_value;
+    }
+
+    // Value accessors. value() will crash if there's been an overflow.
</ins><span class="cx">     template<typename U = T>
</span><del>-    U unsafeGet() const
</del><ins>+    U value() const
</ins><span class="cx">     {
</span><del>-        if (this->hasOverflowed())
</del><ins>+        if (UNLIKELY(this->hasOverflowed()))
</ins><span class="cx">             this->crash();
</span><span class="cx">         return static_cast<U>(m_value);
</span><span class="cx">     }
</span><span class="lines">@@ -809,7 +816,7 @@
</span><span class="cx">     // Equality comparisons
</span><span class="cx">     template <typename V> bool operator==(Checked<T, V> rhs)
</span><span class="cx">     {
</span><del>-        return unsafeGet() == rhs.unsafeGet();
</del><ins>+        return value() == rhs.value();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     template <typename U> bool operator==(U rhs)
</span><span class="lines">@@ -821,7 +828,7 @@
</span><span class="cx">     
</span><span class="cx">     template <typename U, typename V> bool operator==(Checked<U, V> rhs)
</span><span class="cx">     {
</span><del>-        return unsafeGet() == Checked(rhs.unsafeGet());
</del><ins>+        return value() == Checked(rhs.value());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     template <typename U> bool operator!=(U rhs)
</span><span class="lines">@@ -832,44 +839,24 @@
</span><span class="cx">     // Other comparisons
</span><span class="cx">     template <typename V> bool operator<(Checked<T, V> rhs) const
</span><span class="cx">     {
</span><del>-        return unsafeGet() < rhs.unsafeGet();
</del><ins>+        return value() < rhs.value();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    bool operator<(T rhs) const
-    {
-        return unsafeGet() < rhs;
-    }
-
</del><span class="cx">     template <typename V> bool operator<=(Checked<T, V> rhs) const
</span><span class="cx">     {
</span><del>-        return unsafeGet() <= rhs.unsafeGet();
</del><ins>+        return value() <= rhs.value();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    bool operator<=(T rhs) const
-    {
-        return unsafeGet() <= rhs;
-    }
-
</del><span class="cx">     template <typename V> bool operator>(Checked<T, V> rhs) const
</span><span class="cx">     {
</span><del>-        return unsafeGet() > rhs.unsafeGet();
</del><ins>+        return value() > rhs.value();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    bool operator>(T rhs) const
-    {
-        return unsafeGet() > rhs;
-    }
-
</del><span class="cx">     template <typename V> bool operator>=(Checked<T, V> rhs) const
</span><span class="cx">     {
</span><del>-        return unsafeGet() >= rhs.unsafeGet();
</del><ins>+        return value() >= rhs.value();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    bool operator>=(T rhs) const
-    {
-        return unsafeGet() >= rhs;
-    }
-
</del><span class="cx"> private:
</span><span class="cx">     // Disallow implicit conversion of floating point to integer types
</span><span class="cx">     Checked(float);
</span></span></pre></div>
<a id="trunkSourceWTFwtfConcurrentBufferh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/ConcurrentBuffer.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/ConcurrentBuffer.h  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/ConcurrentBuffer.h     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -101,7 +101,7 @@
</span><span class="cx">         Checked<size_t> objectSize = sizeof(T);
</span><span class="cx">         objectSize *= size;
</span><span class="cx">         objectSize += static_cast<size_t>(OBJECT_OFFSETOF(Array, data));
</span><del>-        Array* result = static_cast<Array*>(ConcurrentBufferMalloc::malloc(objectSize.unsafeGet()));
</del><ins>+        Array* result = static_cast<Array*>(ConcurrentBufferMalloc::malloc(objectSize));
</ins><span class="cx">         result->size = size;
</span><span class="cx">         return result;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWTFwtfFastMalloccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/FastMalloc.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/FastMalloc.cpp      2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/FastMalloc.cpp 2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -535,7 +535,7 @@
</span><span class="cx">     ASSERT_IS_WITHIN_LIMIT(numElements * elementSize);
</span><span class="cx">     Checked<size_t> checkedSize = elementSize;
</span><span class="cx">     checkedSize *= numElements;
</span><del>-    void* result = fastZeroedMalloc(checkedSize.unsafeGet());
</del><ins>+    void* result = fastZeroedMalloc(checkedSize);
</ins><span class="cx">     if (!result)
</span><span class="cx">         CRASH();
</span><span class="cx">     return result;
</span><span class="lines">@@ -618,7 +618,7 @@
</span><span class="cx">     checkedSize *= numElements;
</span><span class="cx">     if (checkedSize.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><del>-    return tryFastZeroedMalloc(checkedSize.unsafeGet());
</del><ins>+    return tryFastZeroedMalloc(checkedSize);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> TryMallocReturnValue tryFastRealloc(void* object, size_t newSize)
</span></span></pre></div>
<a id="trunkSourceWTFwtfGigacagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/Gigacage.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/Gigacage.cpp        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/Gigacage.cpp   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -139,7 +139,7 @@
</span><span class="cx">     checkedSize *= numElements;
</span><span class="cx">     if (checkedSize.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><del>-    return tryMalloc(kind, checkedSize.unsafeGet());
</del><ins>+    return tryMalloc(kind, checkedSize);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void* malloc(Kind kind, size_t size)
</span></span></pre></div>
<a id="trunkSourceWTFwtfURLHelperscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/URLHelpers.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/URLHelpers.cpp      2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/URLHelpers.cpp 2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -835,7 +835,7 @@
</span><span class="cx">     bufferLength = bufferLength * 3 + 1; // The buffer should be large enough to %-escape every character.
</span><span class="cx">     if (bufferLength.hasOverflowed())
</span><span class="cx">         return { };
</span><del>-    Vector<char, urlBytesBufferLength> after(bufferLength.unsafeGet());
</del><ins>+    Vector<char, urlBytesBufferLength> after(bufferLength);
</ins><span class="cx"> 
</span><span class="cx">     char* q = after.data();
</span><span class="cx">     {
</span><span class="lines">@@ -875,7 +875,7 @@
</span><span class="cx">         // then we will copy back bytes to the start of the buffer 
</span><span class="cx">         // as we convert.
</span><span class="cx">         int afterlength = q - after.data();
</span><del>-        char* p = after.data() + bufferLength.unsafeGet() - afterlength - 1;
</del><ins>+        char* p = after.data() + bufferLength.value() - afterlength - 1;
</ins><span class="cx">         memmove(p, after.data(), afterlength + 1); // copies trailing '\0'
</span><span class="cx">         char* q = after.data();
</span><span class="cx">         while (*p) {
</span></span></pre></div>
<a id="trunkSourceWTFwtfURLParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/URLParser.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/URLParser.cpp       2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/URLParser.cpp  2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -2165,7 +2165,7 @@
</span><span class="cx">         }
</span><span class="cx">         if (*iterator == '.') {
</span><span class="cx">             ASSERT(!value.hasOverflowed());
</span><del>-            return value.unsafeGet();
</del><ins>+            return value.value();
</ins><span class="cx">         }
</span><span class="cx">         switch (state) {
</span><span class="cx">         case State::UnknownBase:
</span><span class="lines">@@ -2217,7 +2217,7 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     ASSERT(!value.hasOverflowed());
</span><del>-    return value.unsafeGet();
</del><ins>+    return value.value();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ALWAYS_INLINE static uint64_t pow256(size_t exponent)
</span></span></pre></div>
<a id="trunkSourceWTFwtfUniqueArrayh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/UniqueArray.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/UniqueArray.h       2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/UniqueArray.h  2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx">         // Do not use placement new like `new (storage) T[size]()`. `new T[size]()` requires
</span><span class="cx">         // larger storage than the `sizeof(T) * size` storage since it want to store `size`
</span><span class="cx">         // to somewhere.
</span><del>-        T* storage = static_cast<T*>(UniqueArrayMalloc::malloc((Checked<size_t>(sizeof(T)) * size).unsafeGet()));
</del><ins>+        T* storage = static_cast<T*>(UniqueArrayMalloc::malloc(Checked<size_t>(sizeof(T)) * size));
</ins><span class="cx">         VectorTypeOperations<T>::initialize(storage, storage + size);
</span><span class="cx">         return ResultType(storage);
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWTFwtfcocoaNSURLExtrasmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/cocoa/NSURLExtras.mm (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/cocoa/NSURLExtras.mm        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/cocoa/NSURLExtras.mm   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -192,7 +192,7 @@
</span><span class="cx">     if (mallocLength.hasOverflowed())
</span><span class="cx">         return nil;
</span><span class="cx">     
</span><del>-    char* outBytes = static_cast<char *>(malloc(mallocLength.unsafeGet()));
</del><ins>+    char* outBytes = static_cast<char *>(malloc(mallocLength));
</ins><span class="cx">     char* p = outBytes;
</span><span class="cx">     int outLength = 0;
</span><span class="cx">     for (int i = 0; i < inLength; i++) {
</span></span></pre></div>
<a id="trunkSourceWTFwtfglibSocketConnectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/glib/SocketConnection.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/glib/SocketConnection.cpp   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/glib/SocketConnection.cpp      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -124,12 +124,12 @@
</span><span class="cx">     memcpy(&flags, messageData, sizeof(MessageFlags));
</span><span class="cx">     messageData += sizeof(MessageFlags);
</span><span class="cx">     auto messageSize = sizeof(uint32_t) + sizeof(MessageFlags) + bodySize;
</span><del>-    if (m_readBuffer.size() < messageSize.unsafeGet())
</del><ins>+    if (m_readBuffer.size() < messageSize)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     Checked<size_t> messageNameLength = strlen(messageData);
</span><span class="cx">     messageNameLength++;
</span><del>-    if (m_readBuffer.size() < messageNameLength.unsafeGet()) {
</del><ins>+    if (m_readBuffer.size() < messageNameLength) {
</ins><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="lines">@@ -136,11 +136,11 @@
</span><span class="cx"> 
</span><span class="cx">     const auto it = m_messageHandlers.find(messageData);
</span><span class="cx">     if (it != m_messageHandlers.end()) {
</span><del>-        messageData += messageNameLength.unsafeGet();
</del><ins>+        messageData += messageNameLength.value();
</ins><span class="cx">         GRefPtr<GVariant> parameters;
</span><span class="cx">         if (!it->value.first.isNull()) {
</span><span class="cx">             GUniquePtr<GVariantType> variantType(g_variant_type_new(it->value.first.data()));
</span><del>-            size_t parametersSize = bodySize.unsafeGet() - messageNameLength.unsafeGet();
</del><ins>+            size_t parametersSize = bodySize.value() - messageNameLength.value();
</ins><span class="cx">             // g_variant_new_from_data() requires the memory to be properly aligned for the type being loaded,
</span><span class="cx">             // but it's not possible to know the alignment because g_variant_type_info_query() is not public API.
</span><span class="cx">             // Since GLib 2.60 g_variant_new_from_data() already checks the alignment and reallocates the buffer
</span><span class="lines">@@ -163,9 +163,9 @@
</span><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (m_readBuffer.size() > messageSize.unsafeGet()) {
-        std::memmove(m_readBuffer.data(), m_readBuffer.data() + messageSize.unsafeGet(), m_readBuffer.size() - messageSize.unsafeGet());
-        m_readBuffer.shrink(m_readBuffer.size() - messageSize.unsafeGet());
</del><ins>+    if (m_readBuffer.size() > messageSize) {
+        std::memmove(m_readBuffer.data(), m_readBuffer.data() + messageSize.value(), m_readBuffer.size() - messageSize.value());
+        m_readBuffer.shrink(m_readBuffer.size() - messageSize.value());
</ins><span class="cx">     } else
</span><span class="cx">         m_readBuffer.shrink(0);
</span><span class="cx"> 
</span><span class="lines">@@ -191,10 +191,10 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     size_t previousBufferSize = m_writeBuffer.size();
</span><del>-    m_writeBuffer.grow(previousBufferSize + sizeof(uint32_t) + sizeof(MessageFlags) + bodySize.unsafeGet());
</del><ins>+    m_writeBuffer.grow(previousBufferSize + sizeof(uint32_t) + sizeof(MessageFlags) + bodySize.value());
</ins><span class="cx"> 
</span><span class="cx">     auto* messageData = m_writeBuffer.data() + previousBufferSize;
</span><del>-    uint32_t bodySizeHeader = htonl(bodySize.unsafeGet());
</del><ins>+    uint32_t bodySizeHeader = htonl(bodySize.value());
</ins><span class="cx">     memcpy(messageData, &bodySizeHeader, sizeof(uint32_t));
</span><span class="cx">     messageData += sizeof(uint32_t);
</span><span class="cx">     MessageFlags flags = 0;
</span><span class="lines">@@ -203,8 +203,8 @@
</span><span class="cx"> #endif
</span><span class="cx">     memcpy(messageData, &flags, sizeof(MessageFlags));
</span><span class="cx">     messageData += sizeof(MessageFlags);
</span><del>-    memcpy(messageData, messageName, messageNameLength.unsafeGet());
-    messageData += messageNameLength.unsafeGet();
</del><ins>+    memcpy(messageData, messageName, messageNameLength);
+    messageData += messageNameLength.value();
</ins><span class="cx">     if (parameters)
</span><span class="cx">         memcpy(messageData, g_variant_get_data(parameters), parametersSize);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWTFwtftextCStringcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/text/CString.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/text/CString.cpp    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/text/CString.cpp       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> Ref<CStringBuffer> CStringBuffer::createUninitialized(size_t length)
</span><span class="cx"> {
</span><span class="cx">     // The +1 is for the terminating null character.
</span><del>-    auto size = (Checked<size_t>(sizeof(CStringBuffer)) + length + 1U).unsafeGet();
</del><ins>+    size_t size = Checked<size_t>(sizeof(CStringBuffer)) + length + 1U;
</ins><span class="cx">     auto* stringBuffer = static_cast<CStringBuffer*>(CStringBufferMalloc::malloc(size));
</span><span class="cx">     return adoptRef(*new (NotNull, stringBuffer) CStringBuffer(length));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWTFwtftextStringBufferh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/text/StringBuffer.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/text/StringBuffer.h 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/text/StringBuffer.h    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> public:
</span><span class="cx">     explicit StringBuffer(unsigned length)
</span><span class="cx">         : m_length(length)
</span><del>-        , m_data(m_length ? static_cast<CharType*>(StringBufferMalloc::malloc((Checked<size_t>(m_length) * sizeof(CharType)).unsafeGet())) : nullptr)
</del><ins>+        , m_data(m_length ? static_cast<CharType*>(StringBufferMalloc::malloc(Checked<size_t>(m_length) * sizeof(CharType))) : nullptr)
</ins><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWTFwtftextStringBuilderJSONcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/text/StringBuilderJSON.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/text/StringBuilderJSON.cpp  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/text/StringBuilderJSON.cpp     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx">     // Make sure we have enough buffer space to append this string for worst case without reallocating.
</span><span class="cx">     // The 2 is for the '"' quotes on each end.
</span><span class="cx">     // The 6 is the worst case for a single code unit that could be encoded as \uNNNN.
</span><del>-    Checked<unsigned, RecordOverflow> stringLength = string.length();
</del><ins>+    CheckedUint32 stringLength = string.length();
</ins><span class="cx">     auto maximumCapacityRequired = m_length + 2 + stringLength * 6;
</span><span class="cx">     if (maximumCapacityRequired.hasOverflowed()) {
</span><span class="cx">         didOverflow();
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx">     // We need to check maximum length before calling roundUpPowerOfTwo because that function returns 0 for values in the range [2^31, 2^32-2].
</span><span class="cx">     // FIXME: Instead, roundUpToPowerOfTwo should be fixed to do something more useful in those cases, perhaps using checked or saturated arithmetic.
</span><span class="cx">     // https://bugs.webkit.org/show_bug.cgi?id=176086
</span><del>-    auto allocationSize = maximumCapacityRequired.unsafeGet();
</del><ins>+    auto allocationSize = maximumCapacityRequired.value();
</ins><span class="cx">     if (allocationSize > String::MaxLength) {
</span><span class="cx">         didOverflow();
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWTFwtftextStringConcatenateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/text/StringConcatenate.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/text/StringConcatenate.h    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/text/StringConcatenate.h       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -434,7 +434,7 @@
</span><span class="cx">     if (sum.hasOverflowed())
</span><span class="cx">         return String();
</span><span class="cx"> 
</span><del>-    unsigned length = sum.unsafeGet();
</del><ins>+    unsigned length = sum;
</ins><span class="cx">     ASSERT(length <= String::MaxLength);
</span><span class="cx">     if (are8Bit(adapter, adapters...)) {
</span><span class="cx">         LChar* buffer;
</span></span></pre></div>
<a id="trunkSourceWTFwtftextStringImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/text/StringImpl.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/text/StringImpl.h   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/text/StringImpl.h      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -1161,7 +1161,7 @@
</span><span class="cx"> 
</span><span class="cx"> template<typename T> inline size_t StringImpl::allocationSize(Checked<size_t> tailElementCount)
</span><span class="cx"> {
</span><del>-    return (tailOffset<T>() + tailElementCount * sizeof(T)).unsafeGet();
</del><ins>+    return tailOffset<T>() + tailElementCount * sizeof(T);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template<typename CharacterType>
</span></span></pre></div>
<a id="trunkSourceWTFwtftextStringToIntegerConversionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/text/StringToIntegerConversion.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/text/StringToIntegerConversion.h    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WTF/wtf/text/StringToIntegerConversion.h       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx">             return std::nullopt;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return value.unsafeGet();
</del><ins>+    return value.value();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template<typename IntegralType> std::optional<IntegralType> parseInteger(StringView string, uint8_t base)
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/ChangeLog      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -1,3 +1,149 @@
</span><ins>+2021-06-01  Chris Dumez  <cdumez@apple.com>
+
+        Rename Checked::unsafeGet() to Checked::value()
+        https://bugs.webkit.org/show_bug.cgi?id=226514
+
+        Reviewed by Darin Adler.
+
+        Rename Checked::unsafeGet() to Checked::value(). The "unsafeGet" naming is confusing as this
+        function isn't really unsafe since it will crash if the value has overflowed. Also add an
+        `operator T()` to implicitly convert a Checked to its underlying type without needing to
+        call value().
+
+        * bindings/js/SerializedScriptValue.cpp:
+        (WebCore::CloneDeserializer::readTerminal):
+        * dom/TextEncoderStreamEncoder.cpp:
+        (WebCore::TextEncoderStreamEncoder::encode):
+        * editing/markup.cpp:
+        (WebCore::StyledMarkupAccumulator::takeResults):
+        * html/FileInputType.cpp:
+        (WebCore::FileInputType::saveFormControlState const):
+        * html/ImageData.cpp:
+        (WebCore::ImageData::create):
+        (WebCore::ImageData::createUninitialized):
+        * html/MediaElementSession.cpp:
+        (WebCore::isElementRectMostlyInMainFrame):
+        * html/canvas/WebGL2RenderingContext.cpp:
+        (WebCore::WebGL2RenderingContext::sliceArrayBufferView):
+        (WebCore::WebGL2RenderingContext::copyBufferSubData):
+        (WebCore::WebGL2RenderingContext::getBufferSubData):
+        (WebCore::WebGL2RenderingContext::validateClearBuffer):
+        * html/canvas/WebGLBuffer.cpp:
+        (WebCore::WebGLBuffer::associateBufferSubDataImpl):
+        (WebCore::WebGLBuffer::associateCopyBufferSubData):
+        * html/canvas/WebGLRenderingContextBase.cpp:
+        (WebCore::clip2D):
+        (WebCore::WebGLRenderingContextBase::validateDrawArrays):
+        (WebCore::WebGLRenderingContextBase::validateDrawElements):
+        (WebCore::WebGLRenderingContextBase::validateTexFuncData):
+        (WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData):
+        (WebCore::WebGLRenderingContextBase::validateSimulatedVertexAttrib0):
+        * html/canvas/WebGLRenderingContextBase.h:
+        (WebCore::WebGLRenderingContextBase::validateTexImageSubRectangle):
+        (WebCore::WebGLRenderingContextBase::checkedAddAndMultiply):
+        * page/FrameView.h:
+        (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
+        * page/History.cpp:
+        (WebCore::History::stateObjectAdded):
+        * platform/audio/AudioArray.h:
+        (WebCore::AudioArray::resize):
+        * platform/audio/cocoa/AudioFileReaderCocoa.cpp:
+        (WebCore::tryCreateAudioBufferList):
+        * platform/audio/cocoa/CARingBuffer.cpp:
+        (WebCore::CARingBuffer::adoptStorage):
+        (WebCore::CARingBuffer::initializeAfterAllocation):
+        (WebCore::CARingBuffer::allocate):
+        * platform/audio/cocoa/WebAudioBufferList.cpp:
+        (WebCore::WebAudioBufferList::WebAudioBufferList):
+        * platform/graphics/FormatConverter.h:
+        (WebCore::FormatConverter::FormatConverter):
+        * platform/graphics/GraphicsContextGL.cpp:
+        (WebCore::GraphicsContextGL::computeImageSizeInBytes):
+        * platform/graphics/ImageBackingStore.h:
+        (WebCore::ImageBackingStore::setSize):
+        (WebCore::ImageBackingStore::clear):
+        * platform/graphics/ImageBufferBackend.cpp:
+        (WebCore::ImageBufferBackend::calculateMemoryCost):
+        * platform/graphics/ImageFrame.h:
+        (WebCore::ImageFrame::frameBytes const):
+        * platform/graphics/ImageSource.cpp:
+        (WebCore::ImageSource::maximumSubsamplingLevel):
+        * platform/graphics/PixelBuffer.cpp:
+        (WebCore::PixelBuffer::tryCreateForDecoding):
+        (WebCore::PixelBuffer::tryCreate):
+        * platform/graphics/PixelBuffer.h:
+        (WebCore::PixelBuffer::encode const):
+        (WebCore::PixelBuffer::decode):
+        * platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
+        (WebCore::ImageDecoderAVFObjC::frameBytesAtIndex const):
+        * platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
+        (WebCore::MediaSampleAVFObjC::setByteRangeOffset):
+        (WebCore::MediaSampleAVFObjC::byteRangeForAttachment const):
+        * platform/graphics/ca/GraphicsLayerCA.cpp:
+        (WebCore::GraphicsLayerCA::updateBackdropFilters):
+        * platform/graphics/ca/LayerPool.cpp:
+        (WebCore::LayerPool::backingStoreBytesForSize):
+        * platform/graphics/cg/GraphicsContextGLCG.cpp:
+        (WebCore::GraphicsContextGLImageExtractor::extractImage):
+        * platform/graphics/cg/ImageBufferCGBackend.cpp:
+        (WebCore::ImageBufferCGBackend::calculateBytesPerRow):
+        * platform/graphics/cg/ImageDecoderCG.cpp:
+        (WebCore::ImageDecoderCG::frameBytesAtIndex const):
+        * platform/graphics/cocoa/SourceBufferParser.cpp:
+        (WebCore::SourceBufferParser::Segment::read const):
+        * platform/graphics/filters/FEColorMatrix.cpp:
+        (WebCore::effectApplyAccelerated):
+        * platform/graphics/filters/FEGaussianBlur.cpp:
+        (WebCore::FEGaussianBlur::platformApplySoftware):
+        * platform/graphics/filters/FETurbulence.cpp:
+        (WebCore::FETurbulence::platformApplySoftware):
+        * platform/graphics/filters/FilterEffect.cpp:
+        (WebCore::FilterEffect::unmultipliedResult):
+        (WebCore::FilterEffect::premultipliedResult):
+        (WebCore::copyPremultiplyingAlpha):
+        (WebCore::copyUnpremultiplyingAlpha):
+        * platform/graphics/gpu/cocoa/GPUBindGroupAllocatorMetal.mm:
+        (WebCore::GPUBindGroupAllocator::allocateAndSetEncoders):
+        (WebCore::GPUBindGroupAllocator::reallocate):
+        * platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm:
+        (WebCore::GPUCommandBuffer::copyBufferToBuffer):
+        * platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm:
+        (WebCore::GPURenderPassEncoder::drawIndexed):
+        * platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
+        (WebCore::ImageDecoderGStreamer::frameBytesAtIndex const):
+        * platform/graphics/nicosia/NicosiaBuffer.cpp:
+        (Nicosia::Buffer::Buffer):
+        * platform/graphics/win/Direct2DUtilities.cpp:
+        (WebCore::Direct2D::createDirect2DImageSurfaceWithData):
+        * platform/graphics/win/ImageBufferDirect2DBackend.cpp:
+        (WebCore::ImageBufferDirect2DBackend::compatibleBitmap):
+        * platform/graphics/win/ImageDecoderDirect2D.cpp:
+        (WebCore::ImageDecoderDirect2D::frameBytesAtIndex const):
+        * platform/image-decoders/ScalableImageDecoder.cpp:
+        (WebCore::ScalableImageDecoder::frameBytesAtIndex const):
+        * platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp:
+        (WebCore::sycc444ToRGB):
+        (WebCore::sycc422ToRGB):
+        (WebCore::sycc420ToRGB):
+        * platform/ios/LegacyTileLayerPool.mm:
+        (WebCore::LegacyTileLayerPool::bytesBackingLayerWithPixelSize):
+        * platform/text/TextCodecUTF16.cpp:
+        (WebCore::TextCodecUTF16::encode const):
+        * platform/text/TextCodecUTF8.cpp:
+        (WebCore::TextCodecUTF8::encodeUTF8):
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::requiresCompositingForCanvas const):
+        * rendering/shapes/Shape.cpp:
+        (WebCore::Shape::createRasterShape):
+        * storage/StorageMap.cpp:
+        (WebCore::StorageMap::setItem):
+        * xml/XSLStyleSheetLibxslt.cpp:
+        (WebCore::XSLStyleSheet::parseString):
+        * xml/XSLTProcessorLibxslt.cpp:
+        (WebCore::xsltParamArrayFromParameterMap):
+        * xml/parser/CharacterReferenceParserInlines.h:
+        (WebCore::consumeCharacterReference):
+
</ins><span class="cx"> 2021-06-01  Jean-Yves Avenard  <jya@apple.com>
</span><span class="cx"> 
</span><span class="cx">         MediaSession.coordinator should not be optional, relying on coordinator state change instead
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsSerializedScriptValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp       2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp  2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -3419,7 +3419,7 @@
</span><span class="cx">                     return JSValue();
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            if (length && (IntSize(width, height).area() * 4).unsafeGet() != length) {
</del><ins>+            if (length && (IntSize(width, height).area() * 4) != length) {
</ins><span class="cx">                 fail();
</span><span class="cx">                 return JSValue();
</span><span class="cx">             }
</span></span></pre></div>
<a id="trunkSourceWebCoredomTextEncoderStreamEncodercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TextEncoderStreamEncoder.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TextEncoderStreamEncoder.cpp    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/dom/TextEncoderStreamEncoder.cpp       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx">     if (!view.length())
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    Vector<uint8_t> bytes(WTF::checkedProduct<size_t>(view.length() + 1, 3).unsafeGet());
</del><ins>+    Vector<uint8_t> bytes(WTF::checkedProduct<size_t>(view.length() + 1, 3));
</ins><span class="cx">     size_t bytesWritten = 0;
</span><span class="cx"> 
</span><span class="cx">     for (size_t cptr = 0; cptr < view.length(); cptr++) {
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingmarkupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/markup.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/markup.cpp  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/editing/markup.cpp     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -415,7 +415,7 @@
</span><span class="cx">     for (auto& string : m_reversedPrecedingMarkup)
</span><span class="cx">         length += string.length();
</span><span class="cx">     StringBuilder result;
</span><del>-    result.reserveCapacity(length.unsafeGet());
</del><ins>+    result.reserveCapacity(length);
</ins><span class="cx">     for (auto& string : makeReversedRange(m_reversedPrecedingMarkup))
</span><span class="cx">         result.append(string);
</span><span class="cx">     result.append(takeMarkup());
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlFileInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/FileInputType.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/FileInputType.cpp      2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/html/FileInputType.cpp 2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -143,7 +143,7 @@
</span><span class="cx">     auto length = Checked<size_t>(m_fileList->files().size()) * Checked<size_t>(2);
</span><span class="cx"> 
</span><span class="cx">     Vector<String> stateVector;
</span><del>-    stateVector.reserveInitialCapacity(length.unsafeGet());
</del><ins>+    stateVector.reserveInitialCapacity(length);
</ins><span class="cx">     for (auto& file : m_fileList->files()) {
</span><span class="cx">         stateVector.uncheckedAppend(file->path());
</span><span class="cx">         stateVector.uncheckedAppend(file->name());
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlImageDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/ImageData.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/ImageData.cpp  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/html/ImageData.cpp     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx">     auto dataSize = computeDataSize(size);
</span><span class="cx">     if (dataSize.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><del>-    auto byteArray = Uint8ClampedArray::tryCreateUninitialized(dataSize.unsafeGet());
</del><ins>+    auto byteArray = Uint8ClampedArray::tryCreateUninitialized(dataSize);
</ins><span class="cx">     if (!byteArray)
</span><span class="cx">         return nullptr;
</span><span class="cx">     return adoptRef(*new ImageData(size, byteArray.releaseNonNull(), PredefinedColorSpace::SRGB));
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx"> RefPtr<ImageData> ImageData::create(const IntSize& size, Ref<Uint8ClampedArray>&& byteArray, PredefinedColorSpace colorSpace)
</span><span class="cx"> {
</span><span class="cx">     auto dataSize = computeDataSize(size);
</span><del>-    if (dataSize.hasOverflowed() || dataSize.unsafeGet() != byteArray->length())
</del><ins>+    if (dataSize.hasOverflowed() || dataSize != byteArray->length())
</ins><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     return adoptRef(*new ImageData(size, WTFMove(byteArray), colorSpace));
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx">     if (dataSize.hasOverflowed())
</span><span class="cx">         return Exception { RangeError, "Cannot allocate a buffer of this size"_s };
</span><span class="cx"> 
</span><del>-    auto byteArray = Uint8ClampedArray::tryCreateUninitialized(dataSize.unsafeGet());
</del><ins>+    auto byteArray = Uint8ClampedArray::tryCreateUninitialized(dataSize);
</ins><span class="cx">     if (!byteArray) {
</span><span class="cx">         // FIXME: Does this need to be a "real" out of memory error with setOutOfMemoryError called on it?
</span><span class="cx">         return Exception { RangeError, "Out of memory"_s };
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx">     if (dataSize.hasOverflowed())
</span><span class="cx">         return Exception { RangeError, "Cannot allocate a buffer of this size"_s };
</span><span class="cx"> 
</span><del>-    auto byteArray = Uint8ClampedArray::tryCreateUninitialized(dataSize.unsafeGet());
</del><ins>+    auto byteArray = Uint8ClampedArray::tryCreateUninitialized(dataSize);
</ins><span class="cx">     if (!byteArray) {
</span><span class="cx">         // FIXME: Does this need to be a "real" out of memory error with setOutOfMemoryError called on it?
</span><span class="cx">         return Exception { RangeError, "Out of memory"_s };
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx"> 
</span><span class="cx">     IntSize size(sw, height);
</span><span class="cx">     auto dataSize = computeDataSize(size);
</span><del>-    if (dataSize.hasOverflowed() || dataSize.unsafeGet() != byteArray->length())
</del><ins>+    if (dataSize.hasOverflowed() || dataSize != byteArray->length())
</ins><span class="cx">         return Exception { RangeError };
</span><span class="cx"> 
</span><span class="cx">     auto colorSpace = computeColorSpace(settings);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlMediaElementSessioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/MediaElementSession.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/MediaElementSession.cpp        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/html/MediaElementSession.cpp   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -996,7 +996,7 @@
</span><span class="cx"> 
</span><span class="cx">     elementRectInMainFrame.intersect(mainFrameRectAdjustedForScrollPosition);
</span><span class="cx"> 
</span><del>-    return elementRectInMainFrame.area().unsafeGet() > totalElementArea.unsafeGet() / 2;
</del><ins>+    return elementRectInMainFrame.area() > totalElementArea / 2;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static bool isElementLargeRelativeToMainFrame(const HTMLMediaElement& element)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGL2RenderingContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp      2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp 2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -509,7 +509,7 @@
</span><span class="cx">     Checked<GCGLuint, RecordOverflow> checkedSrcOffset(srcOffset);
</span><span class="cx">     Checked<GCGLuint, RecordOverflow> checkedByteSrcOffset = checkedSrcOffset * checkedElementSize;
</span><span class="cx">     Checked<GCGLuint, RecordOverflow> checkedLength(length);
</span><del>-    if (!checkedLength.unsafeGet()) {
</del><ins>+    if (!checkedLength) {
</ins><span class="cx">         // Default to the remainder of the buffer.
</span><span class="cx">         checkedLength = data.byteLength();
</span><span class="cx">         checkedLength /= elementSize;
</span><span class="lines">@@ -519,13 +519,13 @@
</span><span class="cx"> 
</span><span class="cx">     if (checkedLength.hasOverflowed() || checkedByteSrcOffset.hasOverflowed()
</span><span class="cx">         || checkedByteLength.hasOverflowed()
</span><del>-        || checkedByteSrcOffset.unsafeGet() > data.byteLength()
-        || checkedByteLength.unsafeGet() > data.byteLength() - checkedByteSrcOffset.unsafeGet()) {
</del><ins>+        || checkedByteSrcOffset > data.byteLength()
+        || checkedByteLength > data.byteLength() - checkedByteSrcOffset.value()) {
</ins><span class="cx">         synthesizeGLError(GraphicsContextGL::INVALID_VALUE, functionName, "srcOffset or length is out of bounds");
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return arrayBufferViewSliceFactory(functionName, data, data.byteOffset() + checkedByteSrcOffset.unsafeGet(), checkedLength.unsafeGet());
</del><ins>+    return arrayBufferViewSliceFactory(functionName, data, data.byteOffset() + checkedByteSrcOffset.value(), checkedLength);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGL2RenderingContext::pixelStorei(GCGLenum pname, GCGLint param)
</span><span class="lines">@@ -611,7 +611,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (!writeBuffer->associateCopyBufferSubData(*readBuffer, checkedReadOffset.unsafeGet(), checkedWriteOffset.unsafeGet(), checkedSize.unsafeGet())) {
</del><ins>+    if (!writeBuffer->associateCopyBufferSubData(*readBuffer, checkedReadOffset, checkedWriteOffset, checkedSize)) {
</ins><span class="cx">         this->synthesizeGLError(GraphicsContextGL::INVALID_VALUE, "copyBufferSubData", "offset out of range");
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -618,7 +618,7 @@
</span><span class="cx"> 
</span><span class="cx">     m_context->moveErrorsToSyntheticErrorList();
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>-    m_context->copyBufferSubData(readTarget, writeTarget, checkedReadOffset.unsafeGet(), checkedWriteOffset.unsafeGet(), checkedSize.unsafeGet());
</del><ins>+    m_context->copyBufferSubData(readTarget, writeTarget, checkedReadOffset, checkedWriteOffset, checkedSize);
</ins><span class="cx"> #endif
</span><span class="cx">     if (m_context->moveErrorsToSyntheticErrorList()) {
</span><span class="cx">         // The bufferSubData function failed. Tell the buffer it doesn't have the data it thinks it does.
</span><span class="lines">@@ -666,7 +666,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (checkedDestinationEnd.unsafeGet() > dstDataLength) {
</del><ins>+    if (checkedDestinationEnd > dstDataLength) {
</ins><span class="cx">         synthesizeGLError(GraphicsContextGL::INVALID_VALUE, "getBufferSubData", "end of written destination is past the end of the buffer");
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -680,7 +680,7 @@
</span><span class="cx">     Checked<GCGLintptr, RecordOverflow> checkedCopyLengthPtr(copyLength);
</span><span class="cx">     Checked<GCGLintptr, RecordOverflow> checkedElementSize(elementSize);
</span><span class="cx">     auto checkedSourceEnd = checkedSrcByteOffset + checkedCopyLengthPtr * checkedElementSize;
</span><del>-    if (checkedSourceEnd.hasOverflowed() || checkedSourceEnd.unsafeGet() > buffer->byteLength()) {
</del><ins>+    if (checkedSourceEnd.hasOverflowed() || checkedSourceEnd > buffer->byteLength()) {
</ins><span class="cx">         synthesizeGLError(GraphicsContextGL::INVALID_VALUE, "getBufferSubData", "Parameters would read outside the bounds of the source buffer");
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -3444,7 +3444,7 @@
</span><span class="cx">     }
</span><span class="cx">     switch (buffer) {
</span><span class="cx">     case GraphicsContextGL::COLOR:
</span><del>-        if (checkedSize.unsafeGet() < 4) {
</del><ins>+        if (checkedSize < 4) {
</ins><span class="cx">             synthesizeGLError(GraphicsContextGL::INVALID_VALUE, functionName, "invalid array size / srcOffset");
</span><span class="cx">             return { };
</span><span class="cx">         }
</span><span class="lines">@@ -3451,7 +3451,7 @@
</span><span class="cx">         return makeGCGLSpan(values.data() + srcOffset, 4);
</span><span class="cx">     case GraphicsContextGL::DEPTH:
</span><span class="cx">     case GraphicsContextGL::STENCIL:
</span><del>-        if (checkedSize.unsafeGet() < 1) {
</del><ins>+        if (checkedSize < 1) {
</ins><span class="cx">             synthesizeGLError(GraphicsContextGL::INVALID_VALUE, functionName, "invalid array size / srcOffset");
</span><span class="cx">             return { };
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLBuffercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLBuffer.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLBuffer.cpp 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/html/canvas/WebGLBuffer.cpp    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx">         Checked<GCGLintptr, RecordOverflow> checkedBufferOffset(offset);
</span><span class="cx">         Checked<GCGLsizeiptr, RecordOverflow> checkedDataLength(byteLength);
</span><span class="cx">         Checked<GCGLintptr, RecordOverflow> checkedBufferMax = checkedBufferOffset + checkedDataLength;
</span><del>-        if (checkedBufferMax.hasOverflowed() || offset > m_byteLength || checkedBufferMax.unsafeGet() > m_byteLength)
</del><ins>+        if (checkedBufferMax.hasOverflowed() || offset > m_byteLength || checkedBufferMax > m_byteLength)
</ins><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -189,12 +189,12 @@
</span><span class="cx">         Checked<GCGLintptr, RecordOverflow> checkedReadBufferOffset(readOffset);
</span><span class="cx">         Checked<GCGLsizeiptr, RecordOverflow> checkedDataLength(size);
</span><span class="cx">         Checked<GCGLintptr, RecordOverflow> checkedReadBufferMax = checkedReadBufferOffset + checkedDataLength;
</span><del>-        if (checkedReadBufferMax.hasOverflowed() || readOffset > readBuffer.byteLength() || checkedReadBufferMax.unsafeGet() > readBuffer.byteLength())
</del><ins>+        if (checkedReadBufferMax.hasOverflowed() || readOffset > readBuffer.byteLength() || checkedReadBufferMax > readBuffer.byteLength())
</ins><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="cx">         Checked<GCGLintptr, RecordOverflow> checkedWriteBufferOffset(writeOffset);
</span><span class="cx">         Checked<GCGLintptr, RecordOverflow> checkedWriteBufferMax = checkedWriteBufferOffset + checkedDataLength;
</span><del>-        if (checkedWriteBufferMax.hasOverflowed() || writeOffset > m_byteLength || checkedWriteBufferMax.unsafeGet() > m_byteLength)
</del><ins>+        if (checkedWriteBufferMax.hasOverflowed() || writeOffset > m_byteLength || checkedWriteBufferMax > m_byteLength)
</ins><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -507,8 +507,8 @@
</span><span class="cx">     Checked<GCGLint, RecordOverflow> checkedInputRight = Checked<GCGLint>(x) + Checked<GCGLsizei>(width);
</span><span class="cx">     Checked<GCGLint, RecordOverflow> checkedInputBottom = Checked<GCGLint>(y) + Checked<GCGLsizei>(height);
</span><span class="cx">     if (!checkedInputRight.hasOverflowed() && !checkedInputBottom.hasOverflowed()) {
</span><del>-        right = std::min(checkedInputRight.unsafeGet(), sourceWidth);
-        bottom = std::min(checkedInputBottom.unsafeGet(), sourceHeight);
</del><ins>+        right = std::min(checkedInputRight.value(), sourceWidth);
+        bottom = std::min(checkedInputBottom.value(), sourceHeight);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (left >= right || top >= bottom) {
</span><span class="lines">@@ -2460,12 +2460,12 @@
</span><span class="cx">     // Ensure we have a valid rendering state.
</span><span class="cx">     Checked<GCGLint, RecordOverflow> checkedSum = Checked<GCGLint, RecordOverflow>(first) + Checked<GCGLint, RecordOverflow>(count);
</span><span class="cx">     Checked<GCGLint, RecordOverflow> checkedPrimitiveCount(primitiveCount);
</span><del>-    if (checkedSum.hasOverflowed() || checkedPrimitiveCount.hasOverflowed() || !validateVertexAttributes(checkedSum.unsafeGet(), checkedPrimitiveCount.unsafeGet())) {
</del><ins>+    if (checkedSum.hasOverflowed() || checkedPrimitiveCount.hasOverflowed() || !validateVertexAttributes(checkedSum, checkedPrimitiveCount)) {
</ins><span class="cx">         synthesizeGLError(GraphicsContextGL::INVALID_OPERATION, functionName, "attempt to access out of bounds arrays");
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx"> #if !USE(ANGLE)
</span><del>-    if (!validateSimulatedVertexAttrib0(checkedSum.unsafeGet() - 1)) {
</del><ins>+    if (!validateSimulatedVertexAttrib0(checkedSum.value() - 1)) {
</ins><span class="cx">         synthesizeGLError(GraphicsContextGL::INVALID_OPERATION, functionName, "attempt to access outside the bounds of the simulated vertexAttrib0 array");
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="lines">@@ -2537,8 +2537,8 @@
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    if (!validateIndexArrayConservative(type, numElements) || !validateVertexAttributes(numElements, checkedPrimitiveCount.unsafeGet())) {
-        if (!validateIndexArrayPrecise(checkedCount.unsafeGet(), type, static_cast<GCGLintptr>(offset), numElements) || !validateVertexAttributes(numElements, checkedPrimitiveCount.unsafeGet())) {
</del><ins>+    if (!validateIndexArrayConservative(type, numElements) || !validateVertexAttributes(numElements, checkedPrimitiveCount)) {
+        if (!validateIndexArrayPrecise(checkedCount, type, static_cast<GCGLintptr>(offset), numElements) || !validateVertexAttributes(numElements, checkedPrimitiveCount)) {
</ins><span class="cx">             synthesizeGLError(GraphicsContextGL::INVALID_OPERATION, functionName, "attempt to access out of bounds arrays");
</span><span class="cx">             return false;
</span><span class="cx">         }
</span><span class="lines">@@ -5327,7 +5327,7 @@
</span><span class="cx">     total *= JSC::elementSize(pixels->getType());
</span><span class="cx">     total += totalBytesRequired;
</span><span class="cx">     total += skipBytes;
</span><del>-    if (total.hasOverflowed() || pixels->byteLength() < total.unsafeGet()) {
</del><ins>+    if (total.hasOverflowed() || pixels->byteLength() < total) {
</ins><span class="cx">         synthesizeGLError(GraphicsContextGL::INVALID_OPERATION, functionName, "ArrayBufferView not big enough for request");
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="lines">@@ -6819,7 +6819,7 @@
</span><span class="cx">             synthesizeGLError(GraphicsContextGL::INVALID_VALUE, functionName, "too large dimensions");
</span><span class="cx">             return false;
</span><span class="cx">         }
</span><del>-        bytesRequired = checkedBytesRequired.unsafeGet();
</del><ins>+        bytesRequired = checkedBytesRequired;
</ins><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx">     case ExtensionsGL::COMPRESSED_RG11_EAC:
</span><span class="lines">@@ -6833,7 +6833,7 @@
</span><span class="cx">             synthesizeGLError(GraphicsContextGL::INVALID_VALUE, functionName, "too large dimensions");
</span><span class="cx">             return false;
</span><span class="cx">         }
</span><del>-        bytesRequired = checkedBytesRequired.unsafeGet();
</del><ins>+        bytesRequired = checkedBytesRequired;
</ins><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx">     case ExtensionsGL::COMPRESSED_RED_RGTC1_EXT:
</span><span class="lines">@@ -7412,7 +7412,7 @@
</span><span class="cx"> 
</span><span class="cx">     Checked<GCGLsizeiptr, RecordOverflow> bufferDataSize(bufferSize.value());
</span><span class="cx">     bufferDataSize *= Checked<GCGLsizeiptr>(sizeof(GCGLfloat));
</span><del>-    return !bufferDataSize.hasOverflowed() && bufferDataSize.unsafeGet() > 0;
</del><ins>+    return !bufferDataSize.hasOverflowed() && bufferDataSize > 0;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> std::optional<bool> WebGLRenderingContextBase::simulateVertexAttrib0(GCGLuint numVertex)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h     2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h        2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -851,7 +851,7 @@
</span><span class="cx">                 return false;
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            if (maxYAccessed.unsafeGet() > imageHeight) {
</del><ins>+            if (maxYAccessed > imageHeight) {
</ins><span class="cx">                 synthesizeGLError(GraphicsContextGL::INVALID_OPERATION, functionName,
</span><span class="cx">                     "Not enough data supplied to upload to a 3D texture with depth > 1");
</span><span class="cx">                 return false;
</span><span class="lines">@@ -1146,7 +1146,7 @@
</span><span class="cx">     if (checkedResult.hasOverflowed())
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span><del>-    return checkedResult.unsafeGet();
</del><ins>+    return checkedResult.value();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template<typename T>
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameViewh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameView.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameView.h    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/page/FrameView.h       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -995,7 +995,7 @@
</span><span class="cx">     if (UNLIKELY(area.hasOverflowed()))
</span><span class="cx">         m_visuallyNonEmptyPixelCount = std::numeric_limits<decltype(m_visuallyNonEmptyPixelCount)>::max();
</span><span class="cx">     else
</span><del>-        m_visuallyNonEmptyPixelCount = area.unsafeGet();
</del><ins>+        m_visuallyNonEmptyPixelCount = area;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WTF::TextStream& operator<<(WTF::TextStream&, const FrameView&);
</span></span></pre></div>
<a id="trunkSourceWebCorepageHistorycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/History.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/History.cpp    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/page/History.cpp       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -253,9 +253,9 @@
</span><span class="cx">         return Exception { QuotaExceededError, "Attempt to store more data than allowed using history.pushState()"_s };
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    m_mostRecentStateObjectUsage = payloadSize.unsafeGet();
</del><ins>+    m_mostRecentStateObjectUsage = payloadSize;
</ins><span class="cx"> 
</span><del>-    mainHistory.m_totalStateObjectUsage = newTotalUsage.unsafeGet();
</del><ins>+    mainHistory.m_totalStateObjectUsage = newTotalUsage;
</ins><span class="cx">     ++mainHistory.m_currentStateObjectTimeSpanObjectsAdded;
</span><span class="cx"> 
</span><span class="cx">     if (!urlString.isEmpty())
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioAudioArrayh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/AudioArray.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/AudioArray.h 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/audio/AudioArray.h    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -62,10 +62,10 @@
</span><span class="cx"> 
</span><span class="cx">         fastAlignedFree(m_allocation);
</span><span class="cx"> 
</span><del>-        m_allocation = static_cast<T*>(fastAlignedMalloc(alignment, initialSize.unsafeGet()));
</del><ins>+        m_allocation = static_cast<T*>(fastAlignedMalloc(alignment, initialSize));
</ins><span class="cx">         if (!m_allocation)
</span><span class="cx">             CRASH();
</span><del>-        m_size = n.unsafeGet();
</del><ins>+        m_size = n;
</ins><span class="cx">         zero();
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudiococoaAudioFileReaderCocoacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp       2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp  2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx">     if (bufferListSize.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    auto allocated = tryFastCalloc(1, bufferListSize.unsafeGet());
</del><ins>+    auto allocated = tryFastCalloc(1, bufferListSize);
</ins><span class="cx">     AudioBufferList* bufferList;
</span><span class="cx">     if (!allocated.getValue(bufferList))
</span><span class="cx">         return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudiococoaCARingBuffercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/cocoa/CARingBuffer.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/cocoa/CARingBuffer.cpp       2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/audio/cocoa/CARingBuffer.cpp  2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx">         RELEASE_LOG_FAULT(Media, "CARingBuffer::adoptStorage: Overflowed when trying to compute the storage size");
</span><span class="cx">         return makeUniqueRef<CARingBuffer>();
</span><span class="cx">     }
</span><del>-    if (storage->size() < expectedStorageSize.unsafeGet()) {
</del><ins>+    if (storage->size() < expectedStorageSize) {
</ins><span class="cx">         RELEASE_LOG_FAULT(Media, "CARingBuffer::adoptStorage: Storage size is insufficient for format and frameCount");
</span><span class="cx">         return makeUniqueRef<CARingBuffer>();
</span><span class="cx">     }
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx">     m_bytesPerFrame = format.bytesPerFrame();
</span><span class="cx">     m_frameCount = frameCount;
</span><span class="cx">     m_frameCountMask = frameCount - 1;
</span><del>-    m_capacityBytes = computeCapacityBytes(format, frameCount).unsafeGet();
</del><ins>+    m_capacityBytes = computeCapacityBytes(format, frameCount);
</ins><span class="cx"> 
</span><span class="cx">     m_pointers.resize(m_channelCount);
</span><span class="cx">     Byte* channelData = static_cast<Byte*>(m_buffers->data());
</span><span class="lines">@@ -123,8 +123,8 @@
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (UNLIKELY(!m_buffers->allocate(sizeForBuffers.unsafeGet(), format, frameCount))) {
-        RELEASE_LOG_FAULT(Media, "CARingBuffer::allocate: Failed to allocate buffer of the requested size: %lu", sizeForBuffers.unsafeGet());
</del><ins>+    if (UNLIKELY(!m_buffers->allocate(sizeForBuffers, format, frameCount))) {
+        RELEASE_LOG_FAULT(Media, "CARingBuffer::allocate: Failed to allocate buffer of the requested size: %lu", sizeForBuffers.value());
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudiococoaWebAudioBufferListcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/cocoa/WebAudioBufferList.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/cocoa/WebAudioBufferList.cpp 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/audio/cocoa/WebAudioBufferList.cpp    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> 
</span><span class="cx">     CheckedSize bufferListSize = offsetof(AudioBufferList, mBuffers);
</span><span class="cx">     bufferListSize += (sizeof(AudioBuffer) * std::max(1U, bufferCount));
</span><del>-    m_listBufferSize = bufferListSize.unsafeGet();
</del><ins>+    m_listBufferSize = bufferListSize;
</ins><span class="cx">     m_canonicalList = std::unique_ptr<AudioBufferList>(static_cast<AudioBufferList*>(::operator new (m_listBufferSize)));
</span><span class="cx">     memset(m_canonicalList.get(), 0, m_listBufferSize);
</span><span class="cx">     m_canonicalList->mNumberBuffers = bufferCount;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFormatConverterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FormatConverter.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FormatConverter.h 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/FormatConverter.h    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">     {
</span><span class="cx">         const unsigned MaxNumberOfComponents = 4;
</span><span class="cx">         const unsigned MaxBytesPerComponent  = 4;
</span><del>-        m_unpackedIntermediateSrcData = makeUniqueArray<uint8_t>((Checked<size_t>(m_srcSubRectangle.width()) * MaxNumberOfComponents * MaxBytesPerComponent).unsafeGet());
</del><ins>+        m_unpackedIntermediateSrcData = makeUniqueArray<uint8_t>(Checked<size_t>(m_srcSubRectangle.width()) * MaxNumberOfComponents * MaxBytesPerComponent);
</ins><span class="cx"> 
</span><span class="cx">         ASSERT(m_unpackedIntermediateSrcData.get());
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGraphicsContextGLcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GraphicsContextGL.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GraphicsContextGL.cpp     2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContextGL.cpp        2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -681,12 +681,12 @@
</span><span class="cx">         tmp *= bytesPerGroup;
</span><span class="cx">         if (tmp.hasOverflowed())
</span><span class="cx">             return GraphicsContextGL::INVALID_VALUE;
</span><del>-        lastRowSize = tmp.unsafeGet();
</del><ins>+        lastRowSize = tmp;
</ins><span class="cx">     } else
</span><del>-        lastRowSize = checkedValue.unsafeGet();
</del><ins>+        lastRowSize = checkedValue;
</ins><span class="cx"> 
</span><span class="cx">     unsigned padding = 0;
</span><del>-    unsigned residual = checkedValue.unsafeGet() % params.alignment;
</del><ins>+    unsigned residual = checkedValue.value() % params.alignment;
</ins><span class="cx">     if (residual) {
</span><span class="cx">         padding = params.alignment - residual;
</span><span class="cx">         checkedValue += padding;
</span><span class="lines">@@ -693,7 +693,7 @@
</span><span class="cx">     }
</span><span class="cx">     if (checkedValue.hasOverflowed())
</span><span class="cx">         return GraphicsContextGL::INVALID_VALUE;
</span><del>-    unsigned paddedRowSize = checkedValue.unsafeGet();
</del><ins>+    unsigned paddedRowSize = checkedValue;
</ins><span class="cx"> 
</span><span class="cx">     Checked<uint32_t, RecordOverflow> rows = imageHeight;
</span><span class="cx">     rows *= (depth - 1);
</span><span class="lines">@@ -706,7 +706,7 @@
</span><span class="cx">     checkedValue += lastRowSize;
</span><span class="cx">     if (checkedValue.hasOverflowed())
</span><span class="cx">         return GraphicsContextGL::INVALID_VALUE;
</span><del>-    *imageSizeInBytes = checkedValue.unsafeGet();
</del><ins>+    *imageSizeInBytes = checkedValue;
</ins><span class="cx">     if (paddingInBytes)
</span><span class="cx">         *paddingInBytes = padding;
</span><span class="cx"> 
</span><span class="lines">@@ -717,7 +717,7 @@
</span><span class="cx">         tmp *= params.skipImages;
</span><span class="cx">         if (tmp.hasOverflowed())
</span><span class="cx">             return GraphicsContextGL::INVALID_VALUE;
</span><del>-        skipSize += tmp.unsafeGet();
</del><ins>+        skipSize += tmp;
</ins><span class="cx">     }
</span><span class="cx">     if (params.skipRows > 0) {
</span><span class="cx">         Checked<uint32_t, RecordOverflow> tmp = paddedRowSize;
</span><span class="lines">@@ -724,7 +724,7 @@
</span><span class="cx">         tmp *= params.skipRows;
</span><span class="cx">         if (tmp.hasOverflowed())
</span><span class="cx">             return GraphicsContextGL::INVALID_VALUE;
</span><del>-        skipSize += tmp.unsafeGet();
</del><ins>+        skipSize += tmp;
</ins><span class="cx">     }
</span><span class="cx">     if (params.skipPixels > 0) {
</span><span class="cx">         Checked<uint32_t, RecordOverflow> tmp = bytesPerGroup;
</span><span class="lines">@@ -731,14 +731,14 @@
</span><span class="cx">         tmp *= params.skipPixels;
</span><span class="cx">         if (tmp.hasOverflowed())
</span><span class="cx">             return GraphicsContextGL::INVALID_VALUE;
</span><del>-        skipSize += tmp.unsafeGet();
</del><ins>+        skipSize += tmp;
</ins><span class="cx">     }
</span><span class="cx">     if (skipSize.hasOverflowed())
</span><span class="cx">         return GraphicsContextGL::INVALID_VALUE;
</span><span class="cx">     if (skipSizeInBytes)
</span><del>-        *skipSizeInBytes = skipSize.unsafeGet();
</del><ins>+        *skipSizeInBytes = skipSize;
</ins><span class="cx"> 
</span><del>-    checkedValue += skipSize.unsafeGet();
</del><ins>+    checkedValue += skipSize;
</ins><span class="cx">     if (checkedValue.hasOverflowed())
</span><span class="cx">         return GraphicsContextGL::INVALID_VALUE;
</span><span class="cx">     return GraphicsContextGL::NO_ERROR;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageBackingStoreh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ImageBackingStore.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ImageBackingStore.h       2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/ImageBackingStore.h  2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="cx">         Vector<char> buffer;
</span><del>-        size_t bufferSize = size.area().unsafeGet() * sizeof(uint32_t);
</del><ins>+        size_t bufferSize = size.area() * sizeof(uint32_t);
</ins><span class="cx"> 
</span><span class="cx">         if (!buffer.tryReserveCapacity(bufferSize))
</span><span class="cx">             return false;
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx"> 
</span><span class="cx">     void clear()
</span><span class="cx">     {
</span><del>-        memset(m_pixelsPtr, 0, (m_size.area() * sizeof(uint32_t)).unsafeGet());
</del><ins>+        memset(m_pixelsPtr, 0, m_size.area() * sizeof(uint32_t));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void clearRect(const IntRect& rect)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageBufferBackendcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ImageBufferBackend.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ImageBufferBackend.cpp    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/ImageBufferBackend.cpp       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -44,8 +44,7 @@
</span><span class="cx"> size_t ImageBufferBackend::calculateMemoryCost(const IntSize& backendSize, unsigned bytesPerRow)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(!backendSize.isEmpty());
</span><del>-    CheckedSize numBytes = Checked<unsigned, RecordOverflow>(backendSize.height()) * bytesPerRow;
-    return numBytes.unsafeGet();
</del><ins>+    return CheckedUint32(backendSize.height()) * bytesPerRow;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ImageBufferBackend::ImageBufferBackend(const Parameters& parameters)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageFrameh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ImageFrame.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ImageFrame.h      2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/ImageFrame.h 2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">     bool isComplete() const { return m_decodingStatus == DecodingStatus::Complete; }
</span><span class="cx"> 
</span><span class="cx">     IntSize size() const;
</span><del>-    unsigned frameBytes() const { return hasNativeImage() ? (size().area() * sizeof(uint32_t)).unsafeGet() : 0; }
</del><ins>+    unsigned frameBytes() const { return hasNativeImage() ? (size().area() * sizeof(uint32_t)).value() : 0; }
</ins><span class="cx">     SubsamplingLevel subsamplingLevel() const { return m_subsamplingLevel; }
</span><span class="cx"> 
</span><span class="cx">     RefPtr<NativeImage> nativeImage() const { return m_nativeImage; }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ImageSource.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ImageSource.cpp   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/ImageSource.cpp      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -631,7 +631,7 @@
</span><span class="cx">     SubsamplingLevel level = SubsamplingLevel::First;
</span><span class="cx"> 
</span><span class="cx">     for (; level < SubsamplingLevel::Last; ++level) {
</span><del>-        if (frameSizeAtIndex(0, level).area().unsafeGet() < maximumImageAreaBeforeSubsampling)
</del><ins>+        if (frameSizeAtIndex(0, level).area() < maximumImageAreaBeforeSubsampling)
</ins><span class="cx">             break;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsPixelBuffercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/PixelBuffer.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/PixelBuffer.cpp   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/PixelBuffer.cpp      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx"> std::optional<PixelBuffer> PixelBuffer::tryCreateForDecoding(const PixelBufferFormat& format, const IntSize& size, unsigned dataByteLength)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(supportedPixelFormat(format.pixelFormat));
</span><del>-    ASSERT(computeBufferSize(format, size).unsafeGet() == dataByteLength);
</del><ins>+    ASSERT(computeBufferSize(format, size) == dataByteLength);
</ins><span class="cx"> 
</span><span class="cx">     auto pixelArray = Uint8ClampedArray::tryCreateUninitialized(dataByteLength);
</span><span class="cx">     if (!pixelArray)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx">     auto bufferSize = computeBufferSize(format, size);
</span><span class="cx">     if (bufferSize.hasOverflowed())
</span><span class="cx">         return std::nullopt;
</span><del>-    auto pixelArray = Uint8ClampedArray::tryCreateUninitialized(bufferSize.unsafeGet());
</del><ins>+    auto pixelArray = Uint8ClampedArray::tryCreateUninitialized(bufferSize);
</ins><span class="cx">     if (!pixelArray)
</span><span class="cx">         return std::nullopt;
</span><span class="cx">     return { { format, size, pixelArray.releaseNonNull() } };
</span><span class="lines">@@ -87,9 +87,9 @@
</span><span class="cx">     auto bufferSize = computeBufferSize(format, size);
</span><span class="cx">     if (bufferSize.hasOverflowed())
</span><span class="cx">         return std::nullopt;
</span><del>-    if (bufferSize.unsafeGet() != arrayBuffer->byteLength())
</del><ins>+    if (bufferSize != arrayBuffer->byteLength())
</ins><span class="cx">         return std::nullopt;
</span><del>-    auto pixelArray = Uint8ClampedArray::tryCreate(WTFMove(arrayBuffer), 0, bufferSize.unsafeGet());
</del><ins>+    auto pixelArray = Uint8ClampedArray::tryCreate(WTFMove(arrayBuffer), 0, bufferSize);
</ins><span class="cx">     if (!pixelArray)
</span><span class="cx">         return std::nullopt;
</span><span class="cx">     return { { format, size, pixelArray.releaseNonNull() } };
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx">     , m_size { size }
</span><span class="cx">     , m_data { WTFMove(data) }
</span><span class="cx"> {
</span><del>-    RELEASE_ASSERT_WITH_SECURITY_IMPLICATION((m_size.area() * 4).unsafeGet() <= m_data->length());
</del><ins>+    RELEASE_ASSERT_WITH_SECURITY_IMPLICATION((m_size.area() * 4) <= m_data->length());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PixelBuffer::PixelBuffer(const PixelBufferFormat& format, const IntSize& size, JSC::Uint8ClampedArray& data)
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx">     , m_size { size }
</span><span class="cx">     , m_data { data }
</span><span class="cx"> {
</span><del>-    RELEASE_ASSERT_WITH_SECURITY_IMPLICATION((m_size.area() * 4).unsafeGet() <= m_data->length());
</del><ins>+    RELEASE_ASSERT_WITH_SECURITY_IMPLICATION((m_size.area() * 4) <= m_data->length());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PixelBuffer::~PixelBuffer() = default;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsPixelBufferh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/PixelBuffer.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/PixelBuffer.h     2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/PixelBuffer.h        2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx"> 
</span><span class="cx"> template<class Encoder> void PixelBuffer::encode(Encoder& encoder) const
</span><span class="cx"> {
</span><del>-    ASSERT(m_data->byteLength() == (m_size.area().unsafeGet() * 4));
</del><ins>+    ASSERT(m_data->byteLength() == (m_size.area() * 4));
</ins><span class="cx"> 
</span><span class="cx">     encoder << m_format;
</span><span class="cx">     encoder << m_size;
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">     if (computedBufferSize.hasOverflowed())
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span><del>-    auto bufferSize = computedBufferSize.unsafeGet();
</del><ins>+    auto bufferSize = computedBufferSize;
</ins><span class="cx">     if (!decoder.template bufferIsLargeEnoughToContain<uint8_t>(bufferSize))
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcImageDecoderAVFObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -556,7 +556,7 @@
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><span class="cx">     IntSize frameSize = frameSizeAtIndex(index, subsamplingLevel);
</span><del>-    return (frameSize.area() * 4).unsafeGet();
</del><ins>+    return frameSize.area() * 4;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PlatformImagePtr ImageDecoderAVFObjC::createFrameImageAtIndex(size_t index, SubsamplingLevel, const DecodingOptions&)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaSampleAVFObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -471,7 +471,7 @@
</span><span class="cx"> 
</span><span class="cx"> void MediaSampleAVFObjC::setByteRangeOffset(size_t byteOffset)
</span><span class="cx"> {
</span><del>-    int64_t checkedOffset = CheckedInt64(byteOffset).unsafeGet();
</del><ins>+    int64_t checkedOffset = CheckedInt64(byteOffset);
</ins><span class="cx">     auto offsetNumber = adoptCF(CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt64Type, &checkedOffset));
</span><span class="cx">     PAL::CMSetAttachment(m_sample.get(), byteRangeOffsetAttachmentKey(), offsetNumber.get(), kCMAttachmentMode_ShouldPropagate);
</span><span class="cx"> }
</span><span class="lines">@@ -493,7 +493,7 @@
</span><span class="cx"> 
</span><span class="cx">     size_t singleSizeEntry = 0;
</span><span class="cx">     PAL::CMSampleBufferGetSampleSizeArray(m_sample.get(), 1, &singleSizeEntry, nullptr);
</span><del>-    return { { CheckedSize(byteOffset).unsafeGet(), singleSizeEntry } };
</del><ins>+    return { { CheckedSize(byteOffset), singleSizeEntry } };
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscaGraphicsLayerCAcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -2351,8 +2351,8 @@
</span><span class="cx">             CheckedUnsigned backdropFilterArea = CheckedUnsigned(backdropFilterRect.width()) * CheckedUnsigned(backdropFilterRect.height());
</span><span class="cx">             if (!backdropFilterArea.hasOverflowed()) {
</span><span class="cx">                 CheckedUnsigned newTotalBackdropFilterArea = CheckedUnsigned(commitState.totalBackdropFilterArea) + backdropFilterArea;
</span><del>-                if (!newTotalBackdropFilterArea.hasOverflowed() && newTotalBackdropFilterArea.unsafeGet() <= cMaxTotalBackdropFilterArea) {
-                    commitState.totalBackdropFilterArea = newTotalBackdropFilterArea.unsafeGet();
</del><ins>+                if (!newTotalBackdropFilterArea.hasOverflowed() && newTotalBackdropFilterArea <= cMaxTotalBackdropFilterArea) {
+                    commitState.totalBackdropFilterArea = newTotalBackdropFilterArea;
</ins><span class="cx">                     canHaveBackdropFilters = true;
</span><span class="cx">                 }
</span><span class="cx">             }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscaLayerPoolcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/LayerPool.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/LayerPool.cpp  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/ca/LayerPool.cpp     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> 
</span><span class="cx"> unsigned LayerPool::backingStoreBytesForSize(const IntSize& size)
</span><span class="cx"> {
</span><del>-    return (size.area() * 4).unsafeGet();
</del><ins>+    return size.area() * 4;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LayerPool::LayerList& LayerPool::listOfLayersWithSize(const IntSize& size, AccessType accessType)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscgGraphicsContextGLCGcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cg/GraphicsContextGLCG.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cg/GraphicsContextGLCG.cpp        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/cg/GraphicsContextGLCG.cpp   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -489,7 +489,7 @@
</span><span class="cx">     // but it would premultiply the alpha channel as a side effect.
</span><span class="cx">     // Prefer to mannually Convert 16bit per-component formats to RGBA8 formats instead.
</span><span class="cx">     if (bitsPerComponent == 16) {
</span><del>-        m_formalizedRGBA8Data = makeUniqueArray<uint8_t>((Checked<size_t>(m_imageWidth) * m_imageHeight * 4U).unsafeGet());
</del><ins>+        m_formalizedRGBA8Data = makeUniqueArray<uint8_t>(Checked<size_t>(m_imageWidth) * m_imageHeight * 4U);
</ins><span class="cx">         const uint16_t* source = reinterpret_cast<const uint16_t*>(m_imagePixelData);
</span><span class="cx">         uint8_t* destination = m_formalizedRGBA8Data.get();
</span><span class="cx">         const ptrdiff_t srcStrideInElements = bytesPerRow / sizeof(uint16_t);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscgImageBufferCGBackendcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.cpp       2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.cpp  2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -60,8 +60,7 @@
</span><span class="cx"> unsigned ImageBufferCGBackend::calculateBytesPerRow(const IntSize& backendSize)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(!backendSize.isEmpty());
</span><del>-    Checked<unsigned, RecordOverflow> bytesPerRow = (Checked<unsigned, RecordOverflow>(backendSize.width()) * 4);
-    return bytesPerRow.unsafeGet();
</del><ins>+    return CheckedUint32(backendSize.width()) * 4;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RetainPtr<CGColorSpaceRef> ImageBufferCGBackend::contextColorSpace(const GraphicsContext& context)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscgImageDecoderCGcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp     2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp        2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -513,8 +513,7 @@
</span><span class="cx"> 
</span><span class="cx"> unsigned ImageDecoderCG::frameBytesAtIndex(size_t index, SubsamplingLevel subsamplingLevel) const
</span><span class="cx"> {
</span><del>-    IntSize frameSize = frameSizeAtIndex(index, subsamplingLevel);
-    return (frameSize.area() * 4).unsafeGet();
</del><ins>+    return frameSizeAtIndex(index, subsamplingLevel).area() * 4;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PlatformImagePtr ImageDecoderCG::createFrameImageAtIndex(size_t index, SubsamplingLevel subsamplingLevel, const DecodingOptions& decodingOptions)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscocoaSourceBufferParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cocoa/SourceBufferParser.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cocoa/SourceBufferParser.cpp      2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/cocoa/SourceBufferParser.cpp 2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx">         [&](const RetainPtr<MTPluginByteSourceRef>& byteSource) -> size_t
</span><span class="cx">         {
</span><span class="cx">             size_t sizeRead = 0;
</span><del>-            if (MTPluginByteSourceRead(byteSource.get(), sizeToRead, CheckedInt64(position).unsafeGet(), destination, &sizeRead) != noErr)
</del><ins>+            if (MTPluginByteSourceRead(byteSource.get(), sizeToRead, CheckedInt64(position), destination, &sizeRead) != noErr)
</ins><span class="cx">                 return 0;
</span><span class="cx">             return sizeRead;
</span><span class="cx">         },
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsfiltersFEColorMatrixcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx"> template<ColorMatrixType filterType>
</span><span class="cx"> bool effectApplyAccelerated(Uint8ClampedArray& pixelArray, const Vector<float>& values, float components[9], IntSize bufferSize)
</span><span class="cx"> {
</span><del>-    ASSERT(pixelArray.length() == bufferSize.area().unsafeGet() * 4);
</del><ins>+    ASSERT(pixelArray.length() == bufferSize.area() * 4);
</ins><span class="cx">     
</span><span class="cx">     if (filterType == FECOLORMATRIX_TYPE_MATRIX) {
</span><span class="cx">         // vImageMatrixMultiply_ARGB8888 takes a 4x4 matrix, if any value in the last column of the FEColorMatrix 5x4 matrix
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsfiltersFEGaussianBlurcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -541,7 +541,7 @@
</span><span class="cx"> 
</span><span class="cx">     IntSize paintSize = absolutePaintRect().size();
</span><span class="cx">     paintSize.scale(filter().filterScale());
</span><del>-    auto tmpImageData = Uint8ClampedArray::tryCreateUninitialized((paintSize.area() * 4).unsafeGet());
</del><ins>+    auto tmpImageData = Uint8ClampedArray::tryCreateUninitialized(paintSize.area() * 4);
</ins><span class="cx">     if (!tmpImageData)
</span><span class="cx">         return;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsfiltersFETurbulencecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/filters/FETurbulence.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/filters/FETurbulence.cpp  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/filters/FETurbulence.cpp     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -426,7 +426,7 @@
</span><span class="cx">     int height = resultSize.height();
</span><span class="cx"> 
</span><span class="cx">     unsigned maxNumThreads = height / 8;
</span><del>-    unsigned optimalThreadNumber = std::min<unsigned>(area.unsafeGet() / s_minimalRectDimension, maxNumThreads);
</del><ins>+    unsigned optimalThreadNumber = std::min<unsigned>(area / s_minimalRectDimension, maxNumThreads);
</ins><span class="cx">     if (optimalThreadNumber > 1) {
</span><span class="cx">         WTF::ParallelJobs<FillRegionParameters> parallelJobs(&WebCore::FETurbulence::fillRegionWorker, optimalThreadNumber);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsfiltersFilterEffectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/filters/FilterEffect.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/filters/FilterEffect.cpp  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/filters/FilterEffect.cpp     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -293,7 +293,7 @@
</span><span class="cx">     auto checkedArea = scaledSize.area<RecordOverflow>() * 4;
</span><span class="cx">     if (checkedArea.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><del>-    auto pixelArray = Uint8ClampedArray::tryCreateUninitialized(checkedArea.unsafeGet());
</del><ins>+    auto pixelArray = Uint8ClampedArray::tryCreateUninitialized(checkedArea);
</ins><span class="cx">     if (!pixelArray)
</span><span class="cx">         return nullptr;
</span><span class="cx">     copyUnmultipliedResult(*pixelArray, rect, colorSpace);
</span><span class="lines">@@ -308,7 +308,7 @@
</span><span class="cx">     auto checkedArea = scaledSize.area<RecordOverflow>() * 4;
</span><span class="cx">     if (checkedArea.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><del>-    auto pixelArray = Uint8ClampedArray::tryCreateUninitialized(checkedArea.unsafeGet());
</del><ins>+    auto pixelArray = Uint8ClampedArray::tryCreateUninitialized(checkedArea);
</ins><span class="cx">     if (!pixelArray)
</span><span class="cx">         return nullptr;
</span><span class="cx">     copyPremultipliedResult(*pixelArray, rect, colorSpace);
</span><span class="lines">@@ -384,7 +384,7 @@
</span><span class="cx">     vImagePremultiplyData_RGBA8888(&src, &dest, kvImageNoFlags);
</span><span class="cx"> #else
</span><span class="cx">     const uint8_t* sourceComponent = source.data();
</span><del>-    const uint8_t* end = sourceComponent + (inputSize.area() * 4).unsafeGet();
</del><ins>+    const uint8_t* end = sourceComponent + (inputSize.area() * 4).value();
</ins><span class="cx">     uint8_t* destinationComponent = destination.data();
</span><span class="cx"> 
</span><span class="cx">     while (sourceComponent < end) {
</span><span class="lines">@@ -419,7 +419,7 @@
</span><span class="cx">     vImageUnpremultiplyData_RGBA8888(&src, &dest, kvImageNoFlags);
</span><span class="cx"> #else
</span><span class="cx">     const uint8_t* sourceComponent = source.data();
</span><del>-    const uint8_t* end = sourceComponent + (inputSize.area() * 4).unsafeGet();
</del><ins>+    const uint8_t* end = sourceComponent + (inputSize.area() * 4).value();
</ins><span class="cx">     uint8_t* destinationComponent = destination.data();
</span><span class="cx">     while (sourceComponent < end) {
</span><span class="cx">         int alpha = sourceComponent[3];
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsgpucocoaGPUBindGroupAllocatorMetalmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUBindGroupAllocatorMetal.mm (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUBindGroupAllocatorMetal.mm   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUBindGroupAllocatorMetal.mm      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx">         return { };
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto newOffset = checkedOffset.unsafeGet();
</del><ins>+    auto newOffset = checkedOffset.value();
</ins><span class="cx"> 
</span><span class="cx">     if (m_argumentBuffer && newOffset > m_argumentBuffer.get().length) {
</span><span class="cx">         if (!reallocate(newOffset))
</span><span class="lines">@@ -140,7 +140,7 @@
</span><span class="cx"> 
</span><span class="cx">     BEGIN_BLOCK_OBJC_EXCEPTIONS
</span><span class="cx"> 
</span><del>-    newBuffer = [m_argumentBuffer.get().device newBufferWithLength:newLength.unsafeGet() options:0];
</del><ins>+    newBuffer = [m_argumentBuffer.get().device newBufferWithLength:newLength.value() options:0];
</ins><span class="cx">     memcpy(newBuffer.contents, m_argumentBuffer.get().contents, m_argumentBuffer.get().length);
</span><span class="cx"> 
</span><span class="cx">     END_BLOCK_OBJC_EXCEPTIONS
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsgpucocoaGPUCommandBufferMetalmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx">     auto srcLength = checkedSum<NSUInteger>(size, srcOffset);
</span><span class="cx">     auto dstLength = checkedSum<NSUInteger>(size, dstOffset);
</span><span class="cx">     if (srcLength.hasOverflowed() || dstLength.hasOverflowed()
</span><del>-        || srcLength.unsafeGet() > src->byteLength() || dstLength.unsafeGet() > dst->byteLength()) {
</del><ins>+        || srcLength > src->byteLength() || dstLength > dst->byteLength()) {
</ins><span class="cx">         LOG(WebGPU, "GPUCommandBuffer::copyBufferToBuffer(): Invalid offset or copy size!");
</span><span class="cx">         return;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsgpucocoaGPURenderPassEncoderMetalmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -375,7 +375,7 @@
</span><span class="cx">         indexCount:indexCount
</span><span class="cx">         indexType:mtlIndexTypeForGPUIndexFormat(*m_pipeline->indexFormat())
</span><span class="cx">         indexBuffer:m_indexBuffer->platformBuffer()
</span><del>-        indexBufferOffset:totalOffset.unsafeGet()
</del><ins>+        indexBufferOffset:totalOffset.value()
</ins><span class="cx">         instanceCount:instanceCount
</span><span class="cx">         baseVertex:baseVertex
</span><span class="cx">         baseInstance:firstInstance];
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsgstreamerImageDecoderGStreamercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp       2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp  2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -183,8 +183,7 @@
</span><span class="cx">     if (!frameIsCompleteAtIndex(index))
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><del>-    IntSize frameSize = frameSizeAtIndex(index, subsamplingLevel);
-    return (frameSize.area() * 4).unsafeGet();
</del><ins>+    return frameSizeAtIndex(index, subsamplingLevel).area() * 4;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PlatformImagePtr ImageDecoderGStreamer::createFrameImageAtIndex(size_t index, SubsamplingLevel, const DecodingOptions&)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsnicosiaNicosiaBuffercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx">     , m_flags(flags)
</span><span class="cx"> {
</span><span class="cx">     auto checkedArea = size.area() * 4;
</span><del>-    m_data = MallocPtr<unsigned char>::tryZeroedMalloc(checkedArea.unsafeGet());
</del><ins>+    m_data = MallocPtr<unsigned char>::tryZeroedMalloc(checkedArea);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Buffer::~Buffer() = default;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicswinDirect2DUtilitiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/win/Direct2DUtilities.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/win/Direct2DUtilities.cpp 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/win/Direct2DUtilities.cpp    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     COMPtr<IWICBitmap> surface;
</span><del>-    HRESULT hr = ImageDecoderDirect2D::systemImagingFactory()->CreateBitmapFromMemory(size.width(), size.height(), wicBitmapFormat(), stride, static_cast<UINT>(numBytes.unsafeGet()), reinterpret_cast<BYTE*>(data), &surface);
</del><ins>+    HRESULT hr = ImageDecoderDirect2D::systemImagingFactory()->CreateBitmapFromMemory(size.width(), size.height(), wicBitmapFormat(), stride, static_cast<UINT>(numBytes.value()), reinterpret_cast<BYTE*>(data), &surface);
</ins><span class="cx">     if (!SUCCEEDED(hr))
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicswinImageBufferDirect2DBackendcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/win/ImageBufferDirect2DBackend.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/win/ImageBufferDirect2DBackend.cpp        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/win/ImageBufferDirect2DBackend.cpp   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -233,7 +233,7 @@
</span><span class="cx"> 
</span><span class="cx">     COMPtr<ID2D1Bitmap1> sourceCPUBitmap;
</span><span class="cx">     D2D1_BITMAP_PROPERTIES1 bitmapProperties = D2D1::BitmapProperties1(D2D1_BITMAP_OPTIONS_CPU_READ | D2D1_BITMAP_OPTIONS_CANNOT_DRAW, Direct2D::pixelFormat());
</span><del>-    HRESULT hr = sourceDeviceContext->CreateBitmap(m_bitmap->GetPixelSize(), nullptr, bytesPerRow.unsafeGet(), bitmapProperties, &sourceCPUBitmap);
</del><ins>+    HRESULT hr = sourceDeviceContext->CreateBitmap(m_bitmap->GetPixelSize(), nullptr, bytesPerRow, bitmapProperties, &sourceCPUBitmap);
</ins><span class="cx">     if (!SUCCEEDED(hr))
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicswinImageDecoderDirect2Dcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/win/ImageDecoderDirect2D.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/win/ImageDecoderDirect2D.cpp      2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/graphics/win/ImageDecoderDirect2D.cpp 2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -230,8 +230,7 @@
</span><span class="cx">     if (!m_nativeDecoder)
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><del>-    auto frameSize = frameSizeAtIndex(index, subsamplingLevel);
-    return (frameSize.area() * 4).unsafeGet();
</del><ins>+    return frameSizeAtIndex(index, subsamplingLevel).area() * 4;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ImageDecoderDirect2D::setTargetContext(ID2D1RenderTarget* renderTarget)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformimagedecodersScalableImageDecodercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -196,7 +196,7 @@
</span><span class="cx">     if (m_frameBufferCache.size() <= index)
</span><span class="cx">         return 0;
</span><span class="cx">     // FIXME: Use the dimension of the requested frame.
</span><del>-    return (m_size.area() * sizeof(uint32_t)).unsafeGet();
</del><ins>+    return m_size.area() * sizeof(uint32_t);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Seconds ScalableImageDecoder::frameDurationAtIndex(size_t index) const
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformimagedecodersjpeg2000JPEG2000ImageDecodercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -60,12 +60,12 @@
</span><span class="cx"> static void sycc444ToRGB(opj_image_t* img)
</span><span class="cx"> {
</span><span class="cx">     Checked<int> upb = static_cast<int>(img->comps[0].prec);
</span><del>-    int offset = 1 << (upb.unsafeGet() - 1);
-    upb = (1 << upb.unsafeGet()) - 1;
</del><ins>+    int offset = 1 << (upb.value() - 1);
+    upb = (1 << upb.value()) - 1;
</ins><span class="cx"> 
</span><span class="cx">     Checked<size_t> maxw = static_cast<size_t>(img->comps[0].w);
</span><span class="cx">     Checked<size_t> maxh = static_cast<size_t>(img->comps[0].h);
</span><del>-    size_t max = (maxw * maxh).unsafeGet();
</del><ins>+    size_t max = (maxw * maxh).value();
</ins><span class="cx"> 
</span><span class="cx">     const int* y = img->comps[0].data;
</span><span class="cx">     const int* cb = img->comps[1].data;
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     for (size_t i = 0; i < max; ++i) {
</span><del>-        syccToRGB(offset, upb.unsafeGet(), *y, *cb, *cr, r, g, b);
</del><ins>+        syccToRGB(offset, upb.value(), *y, *cb, *cr, r, g, b);
</ins><span class="cx">         ++y;
</span><span class="cx">         ++cb;
</span><span class="cx">         ++cr;
</span><span class="lines">@@ -107,12 +107,12 @@
</span><span class="cx"> static void sycc422ToRGB(opj_image_t* img)
</span><span class="cx"> {
</span><span class="cx">     Checked<int> upb = static_cast<int>(img->comps[0].prec);
</span><del>-    int offset = 1 << (upb.unsafeGet() - 1);
-    upb = (1 << upb.unsafeGet()) - 1;
</del><ins>+    int offset = 1 << (upb.value() - 1);
+    upb = (1 << upb.value()) - 1;
</ins><span class="cx"> 
</span><span class="cx">     Checked<size_t> maxw = static_cast<size_t>(img->comps[0].w);
</span><span class="cx">     Checked<size_t> maxh = static_cast<size_t>(img->comps[0].h);
</span><del>-    size_t max = (maxw * maxh).unsafeGet();
</del><ins>+    size_t max = (maxw * maxh).value();
</ins><span class="cx"> 
</span><span class="cx">     const int* y = img->comps[0].data;
</span><span class="cx">     const int* cb = img->comps[1].data;
</span><span class="lines">@@ -134,13 +134,13 @@
</span><span class="cx"> 
</span><span class="cx">     // if img->x0 is odd, then first column shall use Cb/Cr = 0.
</span><span class="cx">     size_t offx = img->x0 & 1U;
</span><del>-    size_t loopmaxw = maxw.unsafeGet() - offx;
</del><ins>+    size_t loopmaxw = maxw.value() - offx;
</ins><span class="cx"> 
</span><del>-    for (size_t i = 0; i < maxh.unsafeGet(); ++i) {
</del><ins>+    for (size_t i = 0; i < maxh.value(); ++i) {
</ins><span class="cx">         size_t j;
</span><span class="cx"> 
</span><span class="cx">         if (offx > 0) {
</span><del>-            syccToRGB(offset, upb.unsafeGet(), *y, 0, 0, r, g, b);
</del><ins>+            syccToRGB(offset, upb.value(), *y, 0, 0, r, g, b);
</ins><span class="cx">             ++y;
</span><span class="cx">             ++r;
</span><span class="cx">             ++g;
</span><span class="lines">@@ -148,12 +148,12 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         for (j = 0; j < (loopmaxw & ~static_cast<size_t>(1U)); j += 2U) {
</span><del>-            syccToRGB(offset, upb.unsafeGet(), *y, *cb, *cr, r, g, b);
</del><ins>+            syccToRGB(offset, upb.value(), *y, *cb, *cr, r, g, b);
</ins><span class="cx">             ++y;
</span><span class="cx">             ++r;
</span><span class="cx">             ++g;
</span><span class="cx">             ++b;
</span><del>-            syccToRGB(offset, upb.unsafeGet(), *y, *cb, *cr, r, g, b);
</del><ins>+            syccToRGB(offset, upb.value(), *y, *cb, *cr, r, g, b);
</ins><span class="cx">             ++y;
</span><span class="cx">             ++r;
</span><span class="cx">             ++g;
</span><span class="lines">@@ -162,7 +162,7 @@
</span><span class="cx">             ++cr;
</span><span class="cx">         }
</span><span class="cx">         if (j < loopmaxw) {
</span><del>-            syccToRGB(offset, upb.unsafeGet(), *y, *cb, *cr, r, g, b);
</del><ins>+            syccToRGB(offset, upb.value(), *y, *cb, *cr, r, g, b);
</ins><span class="cx">             ++y;
</span><span class="cx">             ++r;
</span><span class="cx">             ++g;
</span><span class="lines">@@ -189,12 +189,12 @@
</span><span class="cx"> static void sycc420ToRGB(opj_image_t* img)
</span><span class="cx"> {
</span><span class="cx">     Checked<int> upb = static_cast<int>(img->comps[0].prec);
</span><del>-    int offset = 1 << (upb.unsafeGet() - 1);
-    upb = (1 << upb.unsafeGet()) - 1;
</del><ins>+    int offset = 1 << (upb.value() - 1);
+    upb = (1 << upb.value()) - 1;
</ins><span class="cx"> 
</span><span class="cx">     Checked<size_t> maxw = static_cast<size_t>(img->comps[0].w);
</span><span class="cx">     Checked<size_t> maxh = static_cast<size_t>(img->comps[0].h);
</span><del>-    size_t max = (maxw * maxh).unsafeGet();
</del><ins>+    size_t max = (maxw * maxh).value();
</ins><span class="cx"> 
</span><span class="cx">     const int* y = img->comps[0].data;
</span><span class="cx">     const int* cb = img->comps[1].data;
</span><span class="lines">@@ -216,15 +216,15 @@
</span><span class="cx"> 
</span><span class="cx">     // if img->x0 is odd, then first column shall use Cb/Cr = 0.
</span><span class="cx">     size_t offx = img->x0 & 1U;
</span><del>-    size_t loopmaxw = maxw.unsafeGet() - offx;
</del><ins>+    size_t loopmaxw = maxw.value() - offx;
</ins><span class="cx">     // if img->y0 is odd, then first line shall use Cb/Cr = 0.
</span><span class="cx">     size_t offy = img->y0 & 1U;
</span><del>-    size_t loopmaxh = maxh.unsafeGet() - offy;
</del><ins>+    size_t loopmaxh = maxh.value() - offy;
</ins><span class="cx"> 
</span><span class="cx">     if (offy > 0) {
</span><span class="cx">         size_t j;
</span><del>-        for (j = 0; j < maxw.unsafeGet(); ++j) {
-            syccToRGB(offset, upb.unsafeGet(), *y, 0, 0, r, g, b);
</del><ins>+        for (j = 0; j < maxw.value(); ++j) {
+            syccToRGB(offset, upb.value(), *y, 0, 0, r, g, b);
</ins><span class="cx">             ++y;
</span><span class="cx">             ++r;
</span><span class="cx">             ++g;
</span><span class="lines">@@ -234,18 +234,18 @@
</span><span class="cx"> 
</span><span class="cx">     size_t i;
</span><span class="cx">     for (i = 0; i < (loopmaxh & ~static_cast<size_t>(1U)); i += 2U) {
</span><del>-        const int* ny = y + maxw.unsafeGet();
-        int* nr = r + maxw.unsafeGet();
-        int* ng = g + maxw.unsafeGet();
-        int* nb = b + maxw.unsafeGet();
</del><ins>+        const int* ny = y + maxw.value();
+        int* nr = r + maxw.value();
+        int* ng = g + maxw.value();
+        int* nb = b + maxw.value();
</ins><span class="cx"> 
</span><span class="cx">         if (offx > 0) {
</span><del>-            syccToRGB(offset, upb.unsafeGet(), *y, 0, 0, r, g, b);
</del><ins>+            syccToRGB(offset, upb.value(), *y, 0, 0, r, g, b);
</ins><span class="cx">             ++y;
</span><span class="cx">             ++r;
</span><span class="cx">             ++g;
</span><span class="cx">             ++b;
</span><del>-            syccToRGB(offset, upb.unsafeGet(), *ny, *cb, *cr, nr, ng, nb);
</del><ins>+            syccToRGB(offset, upb.value(), *ny, *cb, *cr, nr, ng, nb);
</ins><span class="cx">             ++ny;
</span><span class="cx">             ++nr;
</span><span class="cx">             ++ng;
</span><span class="lines">@@ -254,23 +254,23 @@
</span><span class="cx"> 
</span><span class="cx">         size_t j;
</span><span class="cx">         for (j = 0; j < (loopmaxw & ~static_cast<size_t>(1U)); j += 2U) {
</span><del>-            syccToRGB(offset, upb.unsafeGet(), *y, *cb, *cr, r, g, b);
</del><ins>+            syccToRGB(offset, upb.value(), *y, *cb, *cr, r, g, b);
</ins><span class="cx">             ++y;
</span><span class="cx">             ++r;
</span><span class="cx">             ++g;
</span><span class="cx">             ++b;
</span><del>-            syccToRGB(offset, upb.unsafeGet(), *y, *cb, *cr, r, g, b);
</del><ins>+            syccToRGB(offset, upb.value(), *y, *cb, *cr, r, g, b);
</ins><span class="cx">             ++y;
</span><span class="cx">             ++r;
</span><span class="cx">             ++g;
</span><span class="cx">             ++b;
</span><span class="cx"> 
</span><del>-            syccToRGB(offset, upb.unsafeGet(), *ny, *cb, *cr, nr, ng, nb);
</del><ins>+            syccToRGB(offset, upb.value(), *ny, *cb, *cr, nr, ng, nb);
</ins><span class="cx">             ++ny;
</span><span class="cx">             ++nr;
</span><span class="cx">             ++ng;
</span><span class="cx">             ++nb;
</span><del>-            syccToRGB(offset, upb.unsafeGet(), *ny, *cb, *cr, nr, ng, nb);
</del><ins>+            syccToRGB(offset, upb.value(), *ny, *cb, *cr, nr, ng, nb);
</ins><span class="cx">             ++ny;
</span><span class="cx">             ++nr;
</span><span class="cx">             ++ng;
</span><span class="lines">@@ -279,13 +279,13 @@
</span><span class="cx">             ++cr;
</span><span class="cx">         }
</span><span class="cx">         if (j < loopmaxw) {
</span><del>-            syccToRGB(offset, upb.unsafeGet(), *y, *cb, *cr, r, g, b);
</del><ins>+            syccToRGB(offset, upb.value(), *y, *cb, *cr, r, g, b);
</ins><span class="cx">             ++y;
</span><span class="cx">             ++r;
</span><span class="cx">             ++g;
</span><span class="cx">             ++b;
</span><span class="cx"> 
</span><del>-            syccToRGB(offset, upb.unsafeGet(), *ny, *cb, *cr, nr, ng, nb);
</del><ins>+            syccToRGB(offset, upb.value(), *ny, *cb, *cr, nr, ng, nb);
</ins><span class="cx">             ++ny;
</span><span class="cx">             ++nr;
</span><span class="cx">             ++ng;
</span><span class="lines">@@ -293,15 +293,15 @@
</span><span class="cx">             ++cb;
</span><span class="cx">             ++cr;
</span><span class="cx">         }
</span><del>-        y += maxw.unsafeGet();
-        r += maxw.unsafeGet();
-        g += maxw.unsafeGet();
-        b += maxw.unsafeGet();
</del><ins>+        y += maxw.value();
+        r += maxw.value();
+        g += maxw.value();
+        b += maxw.value();
</ins><span class="cx">     }
</span><span class="cx">     if (i < loopmaxh) {
</span><span class="cx">         size_t j;
</span><del>-        for (j = 0; j < (maxw.unsafeGet() & ~static_cast<size_t>(1U)); j += 2U) {
-            syccToRGB(offset, upb.unsafeGet(), *y, *cb, *cr, r, g, b);
</del><ins>+        for (j = 0; j < (maxw.value() & ~static_cast<size_t>(1U)); j += 2U) {
+            syccToRGB(offset, upb.value(), *y, *cb, *cr, r, g, b);
</ins><span class="cx"> 
</span><span class="cx">             ++y;
</span><span class="cx">             ++r;
</span><span class="lines">@@ -308,7 +308,7 @@
</span><span class="cx">             ++g;
</span><span class="cx">             ++b;
</span><span class="cx"> 
</span><del>-            syccToRGB(offset, upb.unsafeGet(), *y, *cb, *cr, r, g, b);
</del><ins>+            syccToRGB(offset, upb.value(), *y, *cb, *cr, r, g, b);
</ins><span class="cx"> 
</span><span class="cx">             ++y;
</span><span class="cx">             ++r;
</span><span class="lines">@@ -317,8 +317,8 @@
</span><span class="cx">             ++cb;
</span><span class="cx">             ++cr;
</span><span class="cx">         }
</span><del>-        if (j < maxw.unsafeGet())
-            syccToRGB(offset, upb.unsafeGet(), *y, *cb, *cr, r, g, b);
</del><ins>+        if (j < maxw.value())
+            syccToRGB(offset, upb.value(), *y, *cb, *cr, r, g, b);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     opj_image_data_free(img->comps[0].data);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosLegacyTileLayerPoolmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/LegacyTileLayerPool.mm (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/LegacyTileLayerPool.mm 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/ios/LegacyTileLayerPool.mm    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> 
</span><span class="cx"> unsigned LegacyTileLayerPool::bytesBackingLayerWithPixelSize(const IntSize& size)
</span><span class="cx"> {
</span><del>-    return (size.area() * 4).unsafeGet();
</del><ins>+    return size.area() * 4;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LegacyTileLayerPool::LayerList& LegacyTileLayerPool::listOfLayersWithSize(const IntSize& size, AccessType accessType)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformtextTextCodecUTF16cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/text/TextCodecUTF16.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/text/TextCodecUTF16.cpp    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/text/TextCodecUTF16.cpp       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -145,7 +145,7 @@
</span><span class="cx"> 
</span><span class="cx"> Vector<uint8_t> TextCodecUTF16::encode(StringView string, UnencodableHandling) const
</span><span class="cx"> {
</span><del>-    Vector<uint8_t> result(WTF::checkedProduct<size_t>(string.length(), 2).unsafeGet());
</del><ins>+    Vector<uint8_t> result(WTF::checkedProduct<size_t>(string.length(), 2));
</ins><span class="cx">     auto* bytes = result.data();
</span><span class="cx"> 
</span><span class="cx">     if (m_littleEndian) {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformtextTextCodecUTF8cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/text/TextCodecUTF8.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/text/TextCodecUTF8.cpp     2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/platform/text/TextCodecUTF8.cpp        2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -448,7 +448,7 @@
</span><span class="cx">     // The maximum number of UTF-8 bytes needed per UTF-16 code unit is 3.
</span><span class="cx">     // BMP characters take only one UTF-16 code unit and can take up to 3 bytes (3x).
</span><span class="cx">     // Non-BMP characters take two UTF-16 code units and can take up to 4 bytes (2x).
</span><del>-    Vector<uint8_t> bytes(WTF::checkedProduct<size_t>(string.length(), 3).unsafeGet());
</del><ins>+    Vector<uint8_t> bytes(WTF::checkedProduct<size_t>(string.length(), 3));
</ins><span class="cx">     size_t bytesWritten = 0;
</span><span class="cx">     for (auto character : string.codePoints())
</span><span class="cx">         U8_APPEND_UNSAFE(bytes.data(), bytesWritten, character);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerCompositorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -3067,7 +3067,7 @@
</span><span class="cx"> #if !USE(COMPOSITING_FOR_SMALL_CANVASES)
</span><span class="cx">     auto* canvas = downcast<HTMLCanvasElement>(renderer.element());
</span><span class="cx">     auto canvasArea = canvas->size().area<RecordOverflow>();
</span><del>-    isCanvasLargeEnoughToForceCompositing = !canvasArea.hasOverflowed() && canvasArea.unsafeGet() >= canvasAreaThresholdRequiringCompositing;
</del><ins>+    isCanvasLargeEnoughToForceCompositing = !canvasArea.hasOverflowed() && canvasArea >= canvasAreaThresholdRequiringCompositing;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     CanvasCompositingStrategy compositingStrategy = canvasCompositingStrategy(renderer);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingshapesShapecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/shapes/Shape.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/shapes/Shape.cpp  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/rendering/shapes/Shape.cpp     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -213,7 +213,7 @@
</span><span class="cx">     int minBufferY = std::max(0, marginRect.y() - imageRect.y());
</span><span class="cx">     int maxBufferY = std::min(imageRect.height(), marginRect.maxY() - imageRect.y());
</span><span class="cx"> 
</span><del>-    if ((imageRect.area() * 4).unsafeGet() == pixelArrayLength) {
</del><ins>+    if ((imageRect.area() * 4) == pixelArrayLength) {
</ins><span class="cx">         for (int y = minBufferY; y < maxBufferY; ++y) {
</span><span class="cx">             int startX = -1;
</span><span class="cx">             for (int x = 0; x < imageRect.width(); ++x, pixelArrayOffset += 4) {
</span></span></pre></div>
<a id="trunkSourceWebCorestorageStorageMapcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/storage/StorageMap.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/storage/StorageMap.cpp      2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/storage/StorageMap.cpp 2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -102,11 +102,11 @@
</span><span class="cx">     newSize += value.sizeInBytes();
</span><span class="cx">     if (oldValue.isNull())
</span><span class="cx">         newSize += key.sizeInBytes();
</span><del>-    if (m_quotaSize != noQuota && (newSize.hasOverflowed() || newSize.unsafeGet() > m_quotaSize)) {
</del><ins>+    if (m_quotaSize != noQuota && (newSize.hasOverflowed() || newSize > m_quotaSize)) {
</ins><span class="cx">         quotaException = true;
</span><span class="cx">         return;
</span><span class="cx">     }
</span><del>-    m_impl->currentSize = newSize.unsafeGet();
</del><ins>+    m_impl->currentSize = newSize;
</ins><span class="cx"> 
</span><span class="cx">     HashMap<String, String>::AddResult addResult = m_impl->map.add(key, value);
</span><span class="cx">     if (!addResult.isNewEntry)
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXSLStyleSheetLibxsltcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XSLStyleSheetLibxslt.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XSLStyleSheetLibxslt.cpp        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/xml/XSLStyleSheetLibxslt.cpp   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -143,12 +143,12 @@
</span><span class="cx"> 
</span><span class="cx">     auto upconvertedCharacters = StringView(string).upconvertedCharacters();
</span><span class="cx">     const char* buffer = reinterpret_cast<const char*>(upconvertedCharacters.get());
</span><del>-    Checked<unsigned, RecordOverflow> unsignedSize = string.length();
</del><ins>+    CheckedUint32 unsignedSize = string.length();
</ins><span class="cx">     unsignedSize *= sizeof(UChar);
</span><del>-    if (unsignedSize.hasOverflowed() || unsignedSize.unsafeGet() > static_cast<unsigned>(std::numeric_limits<int>::max()))
</del><ins>+    if (unsignedSize.hasOverflowed() || unsignedSize > static_cast<unsigned>(std::numeric_limits<int>::max()))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    int size = static_cast<int>(unsignedSize.unsafeGet());
</del><ins>+    int size = unsignedSize.value<int>();
</ins><span class="cx">     xmlParserCtxtPtr ctxt = xmlCreateMemoryParserCtxt(buffer, size);
</span><span class="cx">     if (!ctxt)
</span><span class="cx">         return false;
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXSLTProcessorLibxsltcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XSLTProcessorLibxslt.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XSLTProcessorLibxslt.cpp        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/xml/XSLTProcessorLibxslt.cpp   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -224,7 +224,7 @@
</span><span class="cx">     if (parameters.isEmpty())
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><del>-    auto size = (((Checked<size_t>(parameters.size()) * 2U) + 1U) * sizeof(char*)).unsafeGet();
</del><ins>+    auto size = (((Checked<size_t>(parameters.size()) * 2U) + 1U) * sizeof(char*)).value();
</ins><span class="cx">     auto** parameterArray = static_cast<const char**>(fastMalloc(size));
</span><span class="cx"> 
</span><span class="cx">     size_t index = 0;
</span></span></pre></div>
<a id="trunkSourceWebCorexmlparserCharacterReferenceParserInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/parser/CharacterReferenceParserInlines.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/parser/CharacterReferenceParserInlines.h        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebCore/xml/parser/CharacterReferenceParserInlines.h   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -109,11 +109,11 @@
</span><span class="cx">             }
</span><span class="cx">             if (character == ';') {
</span><span class="cx">                 source.advancePastNonNewline();
</span><del>-                decodedCharacter.appendCharacter(ParserFunctions::legalEntityFor(result.hasOverflowed() ? 0 : result.unsafeGet()));
</del><ins>+                decodedCharacter.appendCharacter(ParserFunctions::legalEntityFor(result.hasOverflowed() ? 0 : result.value()));
</ins><span class="cx">                 return true;
</span><span class="cx">             }
</span><span class="cx">             if (ParserFunctions::acceptMalformed()) {
</span><del>-                decodedCharacter.appendCharacter(ParserFunctions::legalEntityFor(result.hasOverflowed() ? 0 : result.unsafeGet()));
</del><ins>+                decodedCharacter.appendCharacter(ParserFunctions::legalEntityFor(result.hasOverflowed() ? 0 : result.value()));
</ins><span class="cx">                 return true;
</span><span class="cx">             }
</span><span class="cx">             unconsumeCharacters(source, consumedCharacters);
</span><span class="lines">@@ -127,11 +127,11 @@
</span><span class="cx">             }
</span><span class="cx">             if (character == ';') {
</span><span class="cx">                 source.advancePastNonNewline();
</span><del>-                decodedCharacter.appendCharacter(ParserFunctions::legalEntityFor(result.hasOverflowed() ? 0 : result.unsafeGet()));
</del><ins>+                decodedCharacter.appendCharacter(ParserFunctions::legalEntityFor(result.hasOverflowed() ? 0 : result.value()));
</ins><span class="cx">                 return true;
</span><span class="cx">             }
</span><span class="cx">             if (ParserFunctions::acceptMalformed()) {
</span><del>-                decodedCharacter.appendCharacter(ParserFunctions::legalEntityFor(result.hasOverflowed() ? 0 : result.unsafeGet()));
</del><ins>+                decodedCharacter.appendCharacter(ParserFunctions::legalEntityFor(result.hasOverflowed() ? 0 : result.value()));
</ins><span class="cx">                 return true;
</span><span class="cx">             }
</span><span class="cx">             unconsumeCharacters(source, consumedCharacters);
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/ChangeLog       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -1,3 +1,56 @@
</span><ins>+2021-06-01  Chris Dumez  <cdumez@apple.com>
+
+        Rename Checked::unsafeGet() to Checked::value()
+        https://bugs.webkit.org/show_bug.cgi?id=226514
+
+        Reviewed by Darin Adler.
+
+        Rename Checked::unsafeGet() to Checked::value(). The "unsafeGet" naming is confusing as this
+        function isn't really unsafe since it will crash if the value has overflowed. Also add an
+        `operator T()` to implicitly convert a Checked to its underlying type without needing to
+        call value().
+
+        * GPUProcess/graphics/RemoteRenderingBackend.cpp:
+        (WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists):
+        * NetworkProcess/WebStorage/LocalStorageDatabase.cpp:
+        (WebKit::LocalStorageDatabase::setItem):
+        * NetworkProcess/cache/CacheStorageEngineCache.cpp:
+        (WebKit::CacheStorage::Cache::put):
+        * Platform/IPC/ArgumentCoders.h:
+        * Platform/IPC/cocoa/ConnectionCocoa.mm:
+        (IPC::Connection::sendOutgoingMessage):
+        (IPC::createMessageDecoder):
+        * Platform/IPC/cocoa/MachMessage.cpp:
+        (IPC::MachMessage::create):
+        * Shared/ShareableBitmap.cpp:
+        (WebKit::ShareableBitmap::Handle::encode const):
+        (WebKit::ShareableBitmap::create):
+        (WebKit::ShareableBitmap::createShareable):
+        * Shared/ShareableBitmap.h:
+        (WebKit::ShareableBitmap::bytesPerRow const):
+        (WebKit::ShareableBitmap::sizeInBytes const):
+        * Shared/ShareableResource.cpp:
+        (WebKit::ShareableResource::create):
+        * Shared/cg/ShareableBitmapCG.cpp:
+        (WebKit::ShareableBitmap::calculateBytesPerRow):
+        (WebKit::ShareableBitmap::createGraphicsContext):
+        (WebKit::ShareableBitmap::createCGImage const):
+        * Shared/mac/MediaFormatReader/MediaFormatReader.cpp:
+        (WebKit::MediaFormatReader::copyTrackArray):
+        * Shared/mac/MediaFormatReader/MediaSampleCursor.cpp:
+        (WebKit::MediaSampleCursor::copySampleLocation const):
+        * WebProcess/GPU/graphics/DisplayListWriterHandle.cpp:
+        (WebKit::DisplayListWriterHandle::advance):
+        * WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
+        (WebKit::ImageBufferShareableBitmapBackend::calculateBytesPerRow):
+        * WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:
+        (WebKit::RemoteImageDecoderAVF::frameBytesAtIndex const):
+        * WebProcess/Network/WebSocketChannel.cpp:
+        (WebKit::WebSocketChannel::increaseBufferedAmount):
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::requestEvasionRectsAboveSelection):
+        (WebKit::WebPage::updateSelectionWithDelta):
+
</ins><span class="cx"> 2021-06-01  Dana Estra  <destra@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Adopt Reveal for phone numbers
</span></span></pre></div>
<a id="trunkSourceWebKitGPUProcessgraphicsRemoteRenderingBackendcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp       2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp  2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -237,7 +237,7 @@
</span><span class="cx">         checkedOffset += result.numberOfBytesRead;
</span><span class="cx">         MESSAGE_CHECK_WITH_RETURN_VALUE(!checkedOffset.hasOverflowed(), nullptr, "Overflowed when advancing shared display list handle offset");
</span><span class="cx"> 
</span><del>-        offset = checkedOffset.unsafeGet();
</del><ins>+        offset = checkedOffset;
</ins><span class="cx">         MESSAGE_CHECK_WITH_RETURN_VALUE(offset <= handle.sharedMemory().size(), nullptr, "Out-of-bounds offset into shared display list handle");
</span><span class="cx"> 
</span><span class="cx">         if (result.reasonForStopping == DisplayList::StopReplayReason::ChangeDestinationImageBuffer) {
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessWebStorageLocalStorageDatabasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/WebStorage/LocalStorageDatabase.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/WebStorage/LocalStorageDatabase.cpp   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/NetworkProcess/WebStorage/LocalStorageDatabase.cpp      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -230,11 +230,11 @@
</span><span class="cx">         newDatabaseSize += value.sizeInBytes();
</span><span class="cx">         if (oldValue.isNull())
</span><span class="cx">             newDatabaseSize += key.sizeInBytes();
</span><del>-        if (newDatabaseSize.hasOverflowed() || newDatabaseSize.unsafeGet() > m_quotaInBytes) {
</del><ins>+        if (newDatabaseSize.hasOverflowed() || newDatabaseSize > m_quotaInBytes) {
</ins><span class="cx">             quotaException = true;
</span><span class="cx">             return;
</span><span class="cx">         }
</span><del>-        m_databaseSize = newDatabaseSize.unsafeGet();
</del><ins>+        m_databaseSize = newDatabaseSize;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     auto insertStatement = scopedStatement(m_insertStatement, "INSERT INTO ItemTable VALUES (?, ?)"_s);
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcesscacheCacheStorageEngineCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp     2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp        2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -441,7 +441,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    m_caches.requestSpace(spaceRequired.unsafeGet(), [caches = makeRef(m_caches), identifier = m_identifier, records = WTFMove(records), callback = WTFMove(callback)](std::optional<DOMCacheEngine::Error>&& error) mutable {
</del><ins>+    m_caches.requestSpace(spaceRequired, [caches = makeRef(m_caches), identifier = m_identifier, records = WTFMove(records), callback = WTFMove(callback)](std::optional<DOMCacheEngine::Error>&& error) mutable {
</ins><span class="cx">         if (error) {
</span><span class="cx">             callback(makeUnexpected(error.value()));
</span><span class="cx">             return;
</span></span></pre></div>
<a id="trunkSourceWebKitPlatformIPCArgumentCodersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Platform/IPC/ArgumentCoders.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Platform/IPC/ArgumentCoders.h        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/Platform/IPC/ArgumentCoders.h   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx">         if (UNLIKELY(dataSize.hasOverflowed()))
</span><span class="cx">             return std::nullopt;
</span><span class="cx"> 
</span><del>-        const uint8_t* data = decoder.decodeFixedLengthReference(dataSize.unsafeGet(), alignof(T));
</del><ins>+        const uint8_t* data = decoder.decodeFixedLengthReference(dataSize, alignof(T));
</ins><span class="cx">         if (!data)
</span><span class="cx">             return std::nullopt;
</span><span class="cx">         return ArrayReferenceType(reinterpret_cast<const T*>(data), static_cast<size_t>(size));
</span></span></pre></div>
<a id="trunkSourceWebKitPlatformIPCcocoaConnectionCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Platform/IPC/cocoa/ConnectionCocoa.mm (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Platform/IPC/cocoa/ConnectionCocoa.mm        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/Platform/IPC/cocoa/ConnectionCocoa.mm   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -309,7 +309,7 @@
</span><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    size_t safeMessageSize = messageSize.unsafeGet();
</del><ins>+    size_t safeMessageSize = messageSize;
</ins><span class="cx">     auto message = MachMessage::create(encoder->messageName(), safeMessageSize);
</span><span class="cx">     if (!message)
</span><span class="cx">         return false;
</span><span class="lines">@@ -423,7 +423,7 @@
</span><span class="cx">             return nullptr;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        return Decoder::create(body, bodySize.unsafeGet(), nullptr, Vector<Attachment> { });
</del><ins>+        return Decoder::create(body, bodySize, nullptr, Vector<Attachment> { });
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     mach_msg_body_t* body = reinterpret_cast<mach_msg_body_t*>(header + 1);
</span><span class="lines">@@ -476,7 +476,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return Decoder::create(messageBody, messageBodySize.unsafeGet(), nullptr, WTFMove(attachments));
</del><ins>+    return Decoder::create(messageBody, messageBodySize, nullptr, WTFMove(attachments));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // The receive buffer size should always include the maximum trailer size.
</span></span></pre></div>
<a id="trunkSourceWebKitPlatformIPCcocoaMachMessagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Platform/IPC/cocoa/MachMessage.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Platform/IPC/cocoa/MachMessage.cpp   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/Platform/IPC/cocoa/MachMessage.cpp      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx">     auto bufferSize = CheckedSize(sizeof(MachMessage)) + size;
</span><span class="cx">     if (bufferSize.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><del>-    void* memory = WTF::fastZeroedMalloc(bufferSize.unsafeGet());
</del><ins>+    void* memory = WTF::fastZeroedMalloc(bufferSize);
</ins><span class="cx">     return std::unique_ptr<MachMessage> { new (NotNull, memory) MachMessage { messageName, size } };
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitSharedShareableBitmapcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Shared/ShareableBitmap.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Shared/ShareableBitmap.cpp   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/Shared/ShareableBitmap.cpp      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> 
</span><span class="cx"> void ShareableBitmap::Handle::encode(IPC::Encoder& encoder) const
</span><span class="cx"> {
</span><del>-    SharedMemory::IPCHandle ipcHandle(WTFMove(m_handle), numBytesForSize(m_size, m_configuration).unsafeGet());
</del><ins>+    SharedMemory::IPCHandle ipcHandle(WTFMove(m_handle), numBytesForSize(m_size, m_configuration));
</ins><span class="cx">     encoder << ipcHandle;
</span><span class="cx">     encoder << m_size;
</span><span class="cx">     encoder << m_configuration;
</span><span class="lines">@@ -117,7 +117,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     void* data = 0;
</span><del>-    data = ShareableBitmapMalloc::tryMalloc(numBytes.unsafeGet());
</del><ins>+    data = ShareableBitmapMalloc::tryMalloc(numBytes);
</ins><span class="cx">     if (!data)
</span><span class="cx">         return nullptr;
</span><span class="cx">     return adoptRef(new ShareableBitmap(size, configuration, data));
</span><span class="lines">@@ -129,7 +129,7 @@
</span><span class="cx">     if (numBytes.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    RefPtr<SharedMemory> sharedMemory = SharedMemory::allocate(numBytes.unsafeGet());
</del><ins>+    RefPtr<SharedMemory> sharedMemory = SharedMemory::allocate(numBytes);
</ins><span class="cx">     if (!sharedMemory)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="lines">@@ -143,7 +143,7 @@
</span><span class="cx">     auto numBytes = numBytesForSize(size, configuration);
</span><span class="cx">     if (numBytes.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><del>-    if (sharedMemory->size() < numBytes.unsafeGet()) {
</del><ins>+    if (sharedMemory->size() < numBytes) {
</ins><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebKitSharedShareableBitmaph"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Shared/ShareableBitmap.h (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Shared/ShareableBitmap.h     2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/Shared/ShareableBitmap.h        2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -162,10 +162,10 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     void* data() const;
</span><del>-    size_t bytesPerRow() const { return calculateBytesPerRow(m_size, m_configuration).unsafeGet(); }
</del><ins>+    size_t bytesPerRow() const { return calculateBytesPerRow(m_size, m_configuration); }
</ins><span class="cx">     
</span><span class="cx"> private:
</span><del>-    size_t sizeInBytes() const { return numBytesForSize(m_size, m_configuration).unsafeGet(); }
</del><ins>+    size_t sizeInBytes() const { return numBytesForSize(m_size, m_configuration); }
</ins><span class="cx"> 
</span><span class="cx">     WebCore::IntSize m_size;
</span><span class="cx">     Configuration m_configuration;
</span></span></pre></div>
<a id="trunkSourceWebKitSharedShareableResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Shared/ShareableResource.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Shared/ShareableResource.cpp 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/Shared/ShareableResource.cpp    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -115,7 +115,7 @@
</span><span class="cx">         LOG_ERROR("Failed to create ShareableResource from SharedMemory due to overflow.");
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><del>-    if (totalSize.unsafeGet() > sharedMemory->size()) {
</del><ins>+    if (totalSize > sharedMemory->size()) {
</ins><span class="cx">         LOG_ERROR("Failed to create ShareableResource from SharedMemory due to mismatched buffer size.");
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebKitSharedcgShareableBitmapCGcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Shared/cg/ShareableBitmapCG.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Shared/cg/ShareableBitmapCG.cpp      2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/Shared/cg/ShareableBitmapCG.cpp 2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx"> #if HAVE(IOSURFACE)
</span><span class="cx">     if (bytesPerRow.hasOverflowed())
</span><span class="cx">         return bytesPerRow;
</span><del>-    return IOSurfaceAlignProperty(kIOSurfaceBytesPerRow, bytesPerRow.unsafeGet());
</del><ins>+    return IOSurfaceAlignProperty(kIOSurfaceBytesPerRow, bytesPerRow);
</ins><span class="cx"> #else
</span><span class="cx">     return bytesPerRow;
</span><span class="cx"> #endif
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx">     if (bytesPerRow.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    RetainPtr<CGContextRef> bitmapContext = adoptCF(CGBitmapContextCreateWithData(data(), m_size.width(), m_size.height(), bitsPerComponent.unsafeGet(), bytesPerRow.unsafeGet(), colorSpace(m_configuration), bitmapInfo(m_configuration), releaseBitmapContextData, this));
</del><ins>+    RetainPtr<CGContextRef> bitmapContext = adoptCF(CGBitmapContextCreateWithData(data(), m_size.width(), m_size.height(), bitsPerComponent, bytesPerRow, colorSpace(m_configuration), bitmapInfo(m_configuration), releaseBitmapContextData, this));
</ins><span class="cx">     if (!bitmapContext)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="lines">@@ -163,7 +163,7 @@
</span><span class="cx">     if (bytesPerRow.hasOverflowed())
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    RetainPtr<CGImageRef> image = adoptCF(CGImageCreate(m_size.width(), m_size.height(), bitsPerPixel.unsafeGet() / 4, bitsPerPixel.unsafeGet(), bytesPerRow.unsafeGet(), colorSpace(m_configuration), bitmapInfo(m_configuration), dataProvider, 0, false, kCGRenderingIntentDefault));
</del><ins>+    RetainPtr<CGImageRef> image = adoptCF(CGImageCreate(m_size.width(), m_size.height(), bitsPerPixel / 4, bitsPerPixel, bytesPerRow, colorSpace(m_configuration), bitmapInfo(m_configuration), dataProvider, 0, false, kCGRenderingIntentDefault));
</ins><span class="cx">     return image;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitSharedmacMediaFormatReaderMediaFormatReadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -265,7 +265,7 @@
</span><span class="cx">     if (*m_parseTracksStatus != noErr)
</span><span class="cx">         return *m_parseTracksStatus;
</span><span class="cx"> 
</span><del>-    auto mutableArray = adoptCF(CFArrayCreateMutable(allocator(), Checked<CFIndex>(m_trackReaders.size()).unsafeGet(), &kCFTypeArrayCallBacks));
</del><ins>+    auto mutableArray = adoptCF(CFArrayCreateMutable(allocator(), Checked<CFIndex>(m_trackReaders.size()), &kCFTypeArrayCallBacks));
</ins><span class="cx">     for (auto& trackReader : m_trackReaders)
</span><span class="cx">         CFArrayAppendValue(mutableArray.get(), trackReader->wrapper());
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitSharedmacMediaFormatReaderMediaSampleCursorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Shared/mac/MediaFormatReader/MediaSampleCursor.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Shared/mac/MediaFormatReader/MediaSampleCursor.cpp   2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/Shared/mac/MediaFormatReader/MediaSampleCursor.cpp      2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -379,8 +379,8 @@
</span><span class="cx">         RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(sample.platformSample().type == PlatformSample::ByteRangeSampleType);
</span><span class="cx">         auto byteRange = *sample.byteRange();
</span><span class="cx">         *storageRange = {
</span><del>-            .offset = CheckedInt64(byteRange.byteOffset).unsafeGet(),
-            .length = CheckedInt64(byteRange.byteLength).unsafeGet(),
</del><ins>+            .offset = CheckedInt64(byteRange.byteOffset),
+            .length = CheckedInt64(byteRange.byteLength),
</ins><span class="cx">         };
</span><span class="cx">         *byteSource = retainPtr(sample.platformSample().sample.byteRangeSample.first).leakRef();
</span><span class="cx">     });
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessGPUgraphicsDisplayListWriterHandlecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/GPU/graphics/DisplayListWriterHandle.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/GPU/graphics/DisplayListWriterHandle.cpp  2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/DisplayListWriterHandle.cpp     2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -33,8 +33,8 @@
</span><span class="cx"> 
</span><span class="cx"> size_t DisplayListWriterHandle::advance(size_t amount)
</span><span class="cx"> {
</span><del>-    m_writableOffset = (CheckedSize { m_writableOffset } + amount).unsafeGet();
-    return (CheckedSize { header().unreadBytes.exchangeAdd(amount) } + amount).unsafeGet();
</del><ins>+    m_writableOffset = CheckedSize { m_writableOffset } + amount;
+    return CheckedSize { header().unreadBytes.exchangeAdd(amount) } + amount;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> size_t DisplayListWriterHandle::availableCapacity() const
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessGPUgraphicsImageBufferShareableBitmapBackendcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp        2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp   2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -68,8 +68,7 @@
</span><span class="cx"> unsigned ImageBufferShareableBitmapBackend::calculateBytesPerRow(const Parameters& parameters, const IntSize& backendSize)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(!backendSize.isEmpty());
</span><del>-    Checked<unsigned, RecordOverflow> bytesPerRow = ShareableBitmap::calculateBytesPerRow(backendSize, configuration(parameters));
-    return bytesPerRow.unsafeGet();
</del><ins>+    return ShareableBitmap::calculateBytesPerRow(backendSize, configuration(parameters));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> size_t ImageBufferShareableBitmapBackend::calculateMemoryCost(const Parameters& parameters)
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessGPUmediaRemoteImageDecoderAVFcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp       2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp  2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -154,7 +154,7 @@
</span><span class="cx"> 
</span><span class="cx"> unsigned RemoteImageDecoderAVF::frameBytesAtIndex(size_t, SubsamplingLevel) const
</span><span class="cx"> {
</span><del>-    return (size().area() * 4).unsafeGet();
</del><ins>+    return size().area() * 4;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PlatformImagePtr RemoteImageDecoderAVF::createFrameImageAtIndex(size_t index, SubsamplingLevel, const DecodingOptions&)
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessNetworkWebSocketChannelcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/Network/WebSocketChannel.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/Network/WebSocketChannel.cpp      2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/WebProcess/Network/WebSocketChannel.cpp 2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -133,7 +133,7 @@
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    m_bufferedAmount = checkedNewBufferedAmount.unsafeGet();
</del><ins>+    m_bufferedAmount = checkedNewBufferedAmount;
</ins><span class="cx">     if (m_client)
</span><span class="cx">         m_client->didUpdateBufferedAmount(m_bufferedAmount);
</span><span class="cx">     return true;
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessWebPageiosWebPageIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -1976,7 +1976,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    double contextMenuAreaLimit = factorOfContentArea * scaleFactor * unobscuredContentArea.unsafeGet();
</del><ins>+    double contextMenuAreaLimit = factorOfContentArea * scaleFactor * unobscuredContentArea.value();
</ins><span class="cx"> 
</span><span class="cx">     FloatRect selectionBoundsInRootViewCoordinates;
</span><span class="cx">     if (selection.isRange())
</span><span class="lines">@@ -2031,7 +2031,7 @@
</span><span class="cx"> 
</span><span class="cx">         auto bounds = frameView->contentsToRootView(renderer->absoluteBoundingBoxRect());
</span><span class="cx">         auto area = bounds.area();
</span><del>-        if (area.hasOverflowed() || area.unsafeGet() > contextMenuAreaLimit)
</del><ins>+        if (area.hasOverflowed() || area > contextMenuAreaLimit)
</ins><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         if (bounds.contains(enclosingIntRect(selectionBoundsInRootViewCoordinates)))
</span><span class="lines">@@ -4315,7 +4315,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto newSelectionRange = CharacterRange(newSelectionLocation.unsafeGet(), newSelectionLength.unsafeGet());
</del><ins>+    auto newSelectionRange = CharacterRange(newSelectionLocation, newSelectionLength);
</ins><span class="cx">     auto updatedSelectionRange = resolveCharacterRange(makeRangeSelectingNodeContents(*root), newSelectionRange);
</span><span class="cx">     frame->selection().setSelectedRange(updatedSelectionRange, Affinity::Downstream, WebCore::FrameSelection::ShouldCloseTyping::Yes, UserTriggered);
</span><span class="cx">     completionHandler();
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog    2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Tools/ChangeLog       2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -1,3 +1,24 @@
</span><ins>+2021-06-01  Chris Dumez  <cdumez@apple.com>
+
+        Rename Checked::unsafeGet() to Checked::value()
+        https://bugs.webkit.org/show_bug.cgi?id=226514
+
+        Reviewed by Darin Adler.
+
+        Rename Checked::unsafeGet() to Checked::value(). The "unsafeGet" naming is confusing as this
+        function isn't really unsafe since it will crash if the value has overflowed. Also add an
+        `operator T()` to implicitly convert a Checked to its underlying type without needing to
+        call value().
+
+        * TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
+        (TestWebKitAPI::CheckedArithmeticTester::run):
+        (TestWebKitAPI::AllowMixedSignednessTest::run):
+        (TestWebKitAPI::TEST):
+        * TestWebKitAPI/Tests/WebCore/IntRectTests.cpp:
+        (TestWebKitAPI::TEST):
+        * TestWebKitAPI/Tests/WebCore/IntSizeTests.cpp:
+        (TestWebKitAPI::TEST):
+
</ins><span class="cx"> 2021-06-01  Jean-Yves Avenard  <jya@apple.com>
</span><span class="cx"> 
</span><span class="cx">         MediaSession.coordinator should not be optional, relying on coordinator readyState change instead
</span></span></pre></div>
<a id="trunkToolsTestWebKitAPITestsWTFCheckedArithmeticOperationscpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp      2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Tools/TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp 2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -88,32 +88,32 @@
</span><span class="cx">     static void run()
</span><span class="cx">     {
</span><span class="cx">         Checked<type, RecordOverflow> value;
</span><del>-        EXPECT_EQ(coerceLiteral(0), value.unsafeGet());
-        EXPECT_EQ(std::numeric_limits<type>::max(), (value + std::numeric_limits<type>::max()).unsafeGet());
-        EXPECT_EQ(std::numeric_limits<type>::max(), (std::numeric_limits<type>::max() + value).unsafeGet());
-        EXPECT_EQ(std::numeric_limits<type>::min(), (value + std::numeric_limits<type>::min()).unsafeGet());
-        EXPECT_EQ(std::numeric_limits<type>::min(), (std::numeric_limits<type>::min() + value).unsafeGet());
</del><ins>+        EXPECT_EQ(coerceLiteral(0), value.value());
+        EXPECT_EQ(std::numeric_limits<type>::max(), (value + std::numeric_limits<type>::max()).value());
+        EXPECT_EQ(std::numeric_limits<type>::max(), (std::numeric_limits<type>::max() + value).value());
+        EXPECT_EQ(std::numeric_limits<type>::min(), (value + std::numeric_limits<type>::min()).value());
+        EXPECT_EQ(std::numeric_limits<type>::min(), (std::numeric_limits<type>::min() + value).value());
</ins><span class="cx"> 
</span><del>-        EXPECT_EQ(coerceLiteral(0), (value * coerceLiteral(0)).unsafeGet());
-        EXPECT_EQ(coerceLiteral(0), (coerceLiteral(0) * value).unsafeGet());
-        EXPECT_EQ(coerceLiteral(0), (value * value).unsafeGet());
-        EXPECT_EQ(coerceLiteral(0), (value - coerceLiteral(0)).unsafeGet());
-        EXPECT_EQ(coerceLiteral(0), (coerceLiteral(0) - value).unsafeGet());
-        EXPECT_EQ(coerceLiteral(0), (value - value).unsafeGet());
-        EXPECT_EQ(coerceLiteral(0), (value++).unsafeGet());
-        EXPECT_EQ(coerceLiteral(1), (value--).unsafeGet());
-        EXPECT_EQ(coerceLiteral(1), (++value).unsafeGet());
-        EXPECT_EQ(coerceLiteral(0), (--value).unsafeGet());
-        EXPECT_EQ(coerceLiteral(10), (value += coerceLiteral(10)).unsafeGet());
-        EXPECT_EQ(coerceLiteral(10), value.unsafeGet());
-        EXPECT_EQ(coerceLiteral(100), (value *= coerceLiteral(10)).unsafeGet());
-        EXPECT_EQ(coerceLiteral(100), value.unsafeGet());
-        EXPECT_EQ(coerceLiteral(0), (value -= coerceLiteral(100)).unsafeGet());
-        EXPECT_EQ(coerceLiteral(0), value.unsafeGet());
</del><ins>+        EXPECT_EQ(coerceLiteral(0), (value * coerceLiteral(0)).value());
+        EXPECT_EQ(coerceLiteral(0), (coerceLiteral(0) * value).value());
+        EXPECT_EQ(coerceLiteral(0), (value * value).value());
+        EXPECT_EQ(coerceLiteral(0), (value - coerceLiteral(0)).value());
+        EXPECT_EQ(coerceLiteral(0), (coerceLiteral(0) - value).value());
+        EXPECT_EQ(coerceLiteral(0), (value - value).value());
+        EXPECT_EQ(coerceLiteral(0), (value++).value());
+        EXPECT_EQ(coerceLiteral(1), (value--).value());
+        EXPECT_EQ(coerceLiteral(1), (++value).value());
+        EXPECT_EQ(coerceLiteral(0), (--value).value());
+        EXPECT_EQ(coerceLiteral(10), (value += coerceLiteral(10)).value());
+        EXPECT_EQ(coerceLiteral(10), value.value());
+        EXPECT_EQ(coerceLiteral(100), (value *= coerceLiteral(10)).value());
+        EXPECT_EQ(coerceLiteral(100), value.value());
+        EXPECT_EQ(coerceLiteral(0), (value -= coerceLiteral(100)).value());
+        EXPECT_EQ(coerceLiteral(0), value.value());
</ins><span class="cx">         value = 10;
</span><del>-        EXPECT_EQ(coerceLiteral(10), value.unsafeGet());
-        EXPECT_EQ(coerceLiteral(0), (value - coerceLiteral(10)).unsafeGet());
-        EXPECT_EQ(coerceLiteral(10), value.unsafeGet());
</del><ins>+        EXPECT_EQ(coerceLiteral(10), value.value());
+        EXPECT_EQ(coerceLiteral(0), (value - coerceLiteral(10)).value());
+        EXPECT_EQ(coerceLiteral(10), value.value());
</ins><span class="cx"> 
</span><span class="cx">         value = std::numeric_limits<type>::min();
</span><span class="cx">         EXPECT_EQ(true, (Checked<type, RecordOverflow>(value - coerceLiteral(1))).hasOverflowed());
</span><span class="lines">@@ -374,10 +374,10 @@
</span><span class="cx">         Checked<type, RecordOverflow> value;
</span><span class="cx">         value = 10;
</span><span class="cx"> 
</span><del>-        EXPECT_EQ(coerceLiteral(0), (value + -10).unsafeGet());
-        EXPECT_EQ(0U, (value - 10U).unsafeGet());
-        EXPECT_EQ(coerceLiteral(0), (-10 + value).unsafeGet());
-        EXPECT_EQ(0U, (10U - value).unsafeGet());
</del><ins>+        EXPECT_EQ(coerceLiteral(0), (value + -10).value());
+        EXPECT_EQ(0U, (value - 10U).value());
+        EXPECT_EQ(coerceLiteral(0), (-10 + value).value());
+        EXPECT_EQ(0U, (10U - value).value());
</ins><span class="cx">         value = std::numeric_limits<type>::min();
</span><span class="cx">         EXPECT_EQ(true, (Checked<type, RecordOverflow>(value - 1)).hasOverflowed());
</span><span class="cx">         EXPECT_EQ(true, !(value--).hasOverflowed());
</span><span class="lines">@@ -489,14 +489,14 @@
</span><span class="cx"> TEST(CheckedArithmeticTest, Division)
</span><span class="cx"> {
</span><span class="cx">     CheckedSize size = 100;
</span><del>-    EXPECT_EQ(100U, size.unsafeGet());
</del><ins>+    EXPECT_EQ(100U, size.value());
</ins><span class="cx">     size /= 10U;
</span><span class="cx">     EXPECT_FALSE(size.hasOverflowed());
</span><del>-    EXPECT_EQ(10U, size.unsafeGet());
</del><ins>+    EXPECT_EQ(10U, size.value());
</ins><span class="cx"> 
</span><span class="cx">     size /= 11U;
</span><span class="cx">     EXPECT_FALSE(size.hasOverflowed());
</span><del>-    EXPECT_EQ(0U, size.unsafeGet());
</del><ins>+    EXPECT_EQ(0U, size.value());
</ins><span class="cx"> 
</span><span class="cx">     size = 100;
</span><span class="cx">     EXPECT_FALSE(size.hasOverflowed());
</span><span class="lines">@@ -506,7 +506,7 @@
</span><span class="cx"> 
</span><span class="cx">     size = 100;
</span><span class="cx">     EXPECT_FALSE(size.hasOverflowed());
</span><del>-    EXPECT_EQ(100U, size.unsafeGet());
</del><ins>+    EXPECT_EQ(100U, size.value());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace TestWebKitAPI
</span></span></pre></div>
<a id="trunkToolsTestWebKitAPITestsWebCoreIntRectTestscpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/TestWebKitAPI/Tests/WebCore/IntRectTests.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/TestWebKitAPI/Tests/WebCore/IntRectTests.cpp 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Tools/TestWebKitAPI/Tests/WebCore/IntRectTests.cpp    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -613,7 +613,7 @@
</span><span class="cx"> {
</span><span class="cx">     WebCore::IntRect rect(10, 20, 100, 100);
</span><span class="cx"> 
</span><del>-    EXPECT_EQ(10000U, rect.area().unsafeGet());
</del><ins>+    EXPECT_EQ(10000U, rect.area().value());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkToolsTestWebKitAPITestsWebCoreIntSizeTestscpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/TestWebKitAPI/Tests/WebCore/IntSizeTests.cpp (278337 => 278338)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/TestWebKitAPI/Tests/WebCore/IntSizeTests.cpp 2021-06-02 05:20:29 UTC (rev 278337)
+++ trunk/Tools/TestWebKitAPI/Tests/WebCore/IntSizeTests.cpp    2021-06-02 05:21:13 UTC (rev 278338)
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx">     WebCore::IntSize test(1024, 768);
</span><span class="cx"> 
</span><span class="cx">     EXPECT_EQ(1638400, test.diagonalLengthSquared());
</span><del>-    EXPECT_EQ(786432U, test.area().unsafeGet());
</del><ins>+    EXPECT_EQ(786432U, test.area().value());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> TEST(IntSize, Scale)
</span></span></pre>
</div>
</div>

</body>
</html>