⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



May 23, 2021:

10:37 PM Changeset in webkit [277943] by Chris Dumez
  • 94 edits in trunk

Make CheckedLock the default Lock
https://bugs.webkit.org/show_bug.cgi?id=226157

Reviewed by Darin Adler.

Make CheckedLock the default Lock so that we get more benefits from Clang
Thread Safety Analysis. Note that CheckedLock 100% relies on the existing
Source/JavaScriptCore:

Lock implementation and merely adds the clang anotations for thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, in their respective CheckedLock.h / CheckedCondition.h headers.
I will drop them in a follow-up to reduce patch size.

I will also follow-up to try and get rid of as much usage of UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to reduce patch size.

  • assembler/testmasm.cpp:
  • dfg/DFGCommon.cpp:
  • dfg/DFGThreadData.h:
  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::Worklist):

  • dfg/DFGWorklist.h:
  • dynbench.cpp:
  • heap/BlockDirectory.h:

(JSC::BlockDirectory::bitvectorLock):

  • heap/CodeBlockSet.h:

(JSC::CodeBlockSet::getLock):

  • heap/Heap.cpp:

(JSC::Heap::Heap):

  • heap/Heap.h:
  • heap/MarkedSpace.h:

(JSC::MarkedSpace::directoryLock):

  • heap/MarkingConstraintSolver.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::donateKnownParallel):

  • heap/SlotVisitor.h:
  • jit/ExecutableAllocator.cpp:

(JSC::ExecutableAllocator::getLock const):
(JSC::dumpJITMemory):

  • jit/ExecutableAllocator.h:

(JSC::ExecutableAllocatorBase::getLock const):

  • jit/JITWorklist.cpp:

(JSC::JITWorklist::JITWorklist):

  • jit/JITWorklist.h:
  • jsc.cpp:
  • profiler/ProfilerDatabase.h:
  • runtime/ConcurrentJSLock.h:
  • runtime/DeferredWorkTimer.h:
  • runtime/JSLock.h:
  • runtime/SamplingProfiler.cpp:

(JSC::FrameWalker::FrameWalker):
(JSC::CFrameWalker::CFrameWalker):
(JSC::SamplingProfiler::takeSample):

  • runtime/SamplingProfiler.h:

(JSC::SamplingProfiler::getLock):

  • runtime/VM.h:
  • runtime/VMTraps.cpp:

(JSC::VMTraps::invalidateCodeBlocksOnStack):
(JSC::VMTraps::VMTraps):

  • runtime/VMTraps.h:
  • tools/FunctionOverrides.h:
  • tools/VMInspector.cpp:

(JSC::ensureIsSafeToLock):

  • tools/VMInspector.h:

(JSC::VMInspector::getLock):

  • wasm/WasmCalleeRegistry.h:

(JSC::Wasm::CalleeRegistry::getLock):

  • wasm/WasmPlan.h:
  • wasm/WasmStreamingCompiler.h:
  • wasm/WasmThunks.h:
  • wasm/WasmWorklist.cpp:

(JSC::Wasm::Worklist::Worklist):

  • wasm/WasmWorklist.h:

Source/WebCore:

Lock implementation and merely adds the clang anotations for thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, in their respective CheckedLock.h / CheckedCondition.h headers.
I will drop them in a follow-up to reduce patch size.

I will also follow-up to try and get rid of as much usage of UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to reduce patch size.

  • Modules/indexeddb/server/IDBServer.cpp:
  • Modules/webaudio/MediaElementAudioSourceNode.h:
  • Modules/webdatabase/OriginLock.cpp:
  • bindings/js/JSDOMGlobalObject.h:
  • dom/Node.cpp:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::createMediaPlayer):

  • html/canvas/WebGLContextGroup.cpp:

(WebCore::WebGLContextGroup::objectGraphLockForAContext):

  • html/canvas/WebGLContextGroup.h:
  • html/canvas/WebGLContextObject.cpp:

(WebCore::WebGLContextObject::objectGraphLockForContext):

  • html/canvas/WebGLContextObject.h:
  • html/canvas/WebGLObject.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::objectGraphLock):

  • html/canvas/WebGLRenderingContextBase.h:
  • html/canvas/WebGLSharedObject.cpp:

(WebCore::WebGLSharedObject::objectGraphLockForContext):

  • html/canvas/WebGLSharedObject.h:
  • page/scrolling/mac/ScrollingTreeMac.h:
  • platform/audio/ReverbConvolver.cpp:

(WebCore::ReverbConvolver::backgroundThreadEntry):

  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::lock):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
  • platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:

Source/WebKit:

Lock implementation and merely adds the clang anotations for thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, in their respective CheckedLock.h / CheckedCondition.h headers.
I will drop them in a follow-up to reduce patch size.

I will also follow-up to try and get rid of as much usage of UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to reduce patch size.

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):

  • NetworkProcess/IndexedDB/WebIDBServer.cpp:
  • UIProcess/API/glib/IconDatabase.h:
  • UIProcess/mac/WKPrintingView.mm:

(-[WKPrintingView knowsPageRange:]):

Source/WTF:

Lock implementation and merely adds the clang anotations for thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, in their respective CheckedLock.h / CheckedCondition.h headers.
I will drop them in a follow-up to reduce patch size.

I will also follow-up to try and get rid of as much usage of UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to reduce patch size.

  • wtf/AutomaticThread.cpp:

(WTF::AutomaticThreadCondition::wait):
(WTF::AutomaticThreadCondition::waitFor):
(WTF::AutomaticThread::AutomaticThread):

  • wtf/AutomaticThread.h:
  • wtf/CheckedCondition.h:
  • wtf/CheckedLock.h:
  • wtf/Condition.h:
  • wtf/Lock.cpp:

(WTF::UncheckedLock::lockSlow):
(WTF::UncheckedLock::unlockSlow):
(WTF::UncheckedLock::unlockFairlySlow):
(WTF::UncheckedLock::safepointSlow):

  • wtf/Lock.h:

(WTF::WTF_ASSERTS_ACQUIRED_LOCK):

  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocator::release):
(WTF::MetaAllocator::MetaAllocator):
(WTF::MetaAllocator::allocate):
(WTF::MetaAllocator::currentStatistics):

  • wtf/MetaAllocator.h:
  • wtf/ParallelHelperPool.cpp:

(WTF::ParallelHelperPool::ParallelHelperPool):

  • wtf/ParallelHelperPool.h:
  • wtf/RecursiveLockAdapter.h:
  • wtf/WorkerPool.cpp:

(WTF::WorkerPool::WorkerPool):

  • wtf/WorkerPool.h:

Tools:

Lock implementation and merely adds the clang anotations for thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, in their respective CheckedLock.h / CheckedCondition.h headers.
I will drop them in a follow-up to reduce patch size.

I will also follow-up to try and get rid of as much usage of UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to reduce patch size.

  • TestWebKitAPI/Tests/WTF/CheckedConditionTest.cpp:
  • TestWebKitAPI/Tests/WTF/Condition.cpp:
  • TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:

(WTR::AXThread::createThreadIfNeeded):

9:59 PM Changeset in webkit [277942] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove some now invalid tests in testmasm.
https://bugs.webkit.org/show_bug.cgi?id=226155

Reviewed by Yusuke Suzuki.

The ARM64E tests were checking that cageConditionallyAndUntag() would fail to
produce a caged pointer if fed invalid values. These tests are no longer feasible
because on ARM64E, feeding cageConditionallyAndUntag() invalid values will now
result in a crash. This patch removes these tests.

  • assembler/testmasm.cpp:

(JSC::testCagePreservesPACFailureBit):

8:42 PM Changeset in webkit [277941] by Lauro Moura
  • 2 edits in trunk/WebDriverTests

[WebDriver] Gardening local GTK and WPE failures

Unreviewed test gardening.

With these, no failures should happen running locally. Still a few
bits on the bots to check.

5:31 PM Changeset in webkit [277940] by weinig@apple.com
  • 173 edits
    2 copies
    1 add
    2 deletes in trunk

Convert DestinationColorSpace from an enum to class wrapping a platform color space (CGColorSpaceRef for CG ports, etc.)
https://bugs.webkit.org/show_bug.cgi?id=226143

Reviewed by Darin Adler.

Source/WebCore:

Replace enumeration based DestinationColorSpace with a struct wrapping
a platform color space (CGColorSpaceRef for CG ports, etc.). For ports
that don't have a platform level color space type, a builtin PlatformColorSpace
type is provided that is just the old enum renamed to PlatformColorSpace::Name.

The goal of this change is to unify the currently bifurcated concept of an
ImageBuffer's color space, which previosly could either be based on the
DestinationColorSpace (and reflected in the colorSpace() member function),
or (for CG ports) based on a CGColorSpaceRef, with the colorSpace() function
returning sRGB even if the ImageBuffer was not.

  • Headers.cmake:
  • Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:

(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):

  • Modules/mediasession/MediaMetadata.cpp:

(WebCore::ArtworkImageLoader::notifyFinished):

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::dumpImageBitmap):
(WebCore::CloneDeserializer::readImageBitmap):

  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::image):

  • html/CustomPaintCanvas.cpp:

(WebCore::CustomPaintCanvas::copiedImage const):

  • html/CustomPaintImage.cpp:

(WebCore::CustomPaintImage::drawPattern):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::toMediaSample):
(WebCore::HTMLCanvasElement::createImageBuffer const):

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::createBufferForPainting const):

  • html/HTMLVideoElement.h:
  • html/ImageBitmap.cpp:

(WebCore::ImageBitmap::createImageBuffer):
(WebCore::ImageBitmap::createPromise):

  • html/OffscreenCanvas.cpp:

(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):

  • html/canvas/CanvasRenderingContext.cpp:

(WebCore::CanvasRenderingContext::colorSpace const):

  • html/canvas/CanvasRenderingContext.h:
  • html/canvas/CanvasRenderingContext2D.cpp:
  • html/canvas/ImageBitmapRenderingContext.cpp:

(WebCore::ImageBitmapRenderingContext::setOutputBitmap):

  • html/canvas/PredefinedColorSpace.cpp:

(WebCore::toDestinationColorSpace):
(WebCore::toPredefinedColorSpace):

  • html/canvas/PredefinedColorSpace.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::LRUImageBufferCache::imageBuffer):

  • html/shadow/MediaControlTextTrackContainerElement.cpp:

(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::indexForData):
(WebCore::InspectorCanvas::buildArrayForCanvasPattern):

  • page/Chrome.cpp:

(WebCore::Chrome::createImageBuffer const):

  • page/Chrome.h:
  • page/ChromeClient.h:

(WebCore::ChromeClient::createImageBuffer const):

  • page/FrameSnapshotting.cpp:

(WebCore::snapshotFrameRectWithClip):

  • page/PageColorSampler.cpp:

(WebCore::sampleColor):

  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::screenshot):

  • platform/HostWindow.h:
  • platform/PlatformColorSpace.h: Added.

(WebCore::PlatformColorSpace::get const):

  • platform/PlatformScreen.h:
  • platform/ScreenProperties.h:

(WebCore::ScreenProperties::encode const):
(WebCore::ScreenData::encode const):
(WebCore::ScreenData::decode):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::preTransformedNativeImageForCurrentFrame):
(WebCore::BitmapImage::drawPattern):

  • platform/graphics/Color.cpp:

(WebCore::Color::toColorComponentsInColorSpace const):

  • platform/graphics/Color.h:
  • platform/graphics/ColorConversion.cpp:

(WebCore::converColorComponents):

  • platform/graphics/ColorConversion.h:
  • platform/graphics/ColorSpace.cpp:
  • platform/graphics/ColorSpace.h:
  • platform/graphics/ConcreteImageBuffer.h:

(WebCore::ConcreteImageBuffer::create):

  • platform/graphics/CrossfadeGeneratedImage.cpp:

(WebCore::CrossfadeGeneratedImage::drawPattern):

  • platform/graphics/DestinationColorSpace.cpp: Added.

(WebCore::DestinationColorSpace::SRGB):
(WebCore::DestinationColorSpace::LinearSRGB):
(WebCore::DestinationColorSpace::DisplayP3):
(WebCore::DestinationColorSpace::DestinationColorSpace):
(WebCore::operator==):
(WebCore::operator!=):
(WebCore::operator<<):

  • platform/graphics/DestinationColorSpace.h: Added.

(WebCore::DestinationColorSpace::platformColorSpace const):
(WebCore::DestinationColorSpace::encode const):
(WebCore::DestinationColorSpace::decode):

  • platform/graphics/GradientImage.cpp:

(WebCore::GradientImage::drawPattern):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::clipToDrawingCommands):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContextImpl.h:
  • platform/graphics/ImageBuffer.cpp:

(WebCore::ImageBuffer::create):
(WebCore::ImageBuffer::createCompatibleBuffer):
(WebCore::ImageBuffer::copyRectToBuffer):

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ImageBufferBackend.cpp:

(WebCore::ImageBufferBackend::getPixelBuffer const):
(WebCore::ImageBufferBackend::putPixelBuffer):

  • platform/graphics/ImageBufferBackend.h:

(WebCore::ImageBufferBackend::transformColorSpace):
(WebCore::ImageBufferBackend::colorSpace const):

  • platform/graphics/PixelBuffer.h:

(WebCore::PixelBuffer::decode):

  • platform/graphics/PixelBufferConversion.cpp:

(WebCore::makeVImageCGImageFormat):

  • platform/graphics/PixelBufferFormat.h:

(WebCore::PixelBufferFormat::decode):

  • platform/graphics/RemoteVideoSample.cpp:

(WebCore::transferBGRAPixelBufferToIOSurface):
(WebCore::RemoteVideoSample::create):
(WebCore::RemoteVideoSample::RemoteVideoSample):
(WebCore::RemoteVideoSample::surface const):

  • platform/graphics/RemoteVideoSample.h:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::getScratchBuffer):
(WebCore::ShadowBlur::drawRectShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):
(WebCore::ShadowBlur::blurShadowBuffer):
(WebCore::ShadowBlur::drawShadowLayer):

  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLOpenGL::readPixelsForPaintResults):

  • platform/graphics/cairo/ImageBufferCairoBackend.cpp:

(WebCore::ImageBufferCairoBackend::transformColorSpace):

  • platform/graphics/cairo/ImageBufferCairoBackend.h:
  • platform/graphics/cg/ColorCG.cpp:

(WebCore::convertToCGCompatibleComponents):
(WebCore::createCGColor):
(WebCore::platformConvertColorComponents):

  • platform/graphics/cg/ColorSpaceCG.h:

(WebCore::cachedCGColorSpace): Deleted.

  • platform/graphics/cg/GraphicsContextGLCG.cpp:

(WebCore::GraphicsContextGLOpenGL::paintToCanvas):

  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::surfaceMatchesParameters):
(WebCore::IOSurfacePool::takeSurface):

  • platform/graphics/cg/IOSurfacePool.h:
  • platform/graphics/cg/ImageBufferCGBackend.cpp:

(WebCore::createBitmapImageAfterScalingIfNeeded):
(WebCore::ImageBufferCGBackend::copyCGImageForEncoding const):

  • platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:

(WebCore::ImageBufferCGBitmapBackend::create):
(WebCore::ImageBufferCGBitmapBackend::copyNativeImage const):

  • platform/graphics/cg/ImageBufferCGBitmapBackend.h:
  • platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:

(WebCore::ImageBufferIOSurfaceBackend::create):

  • platform/graphics/cg/ImageBufferIOSurfaceBackend.h:
  • platform/graphics/cg/ImageBufferUtilitiesCG.cpp:

(WebCore::encode):

  • platform/graphics/cg/NativeImageCG.cpp:

(WebCore::NativeImage::singlePixelSolidColor const):

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::GraphicsContextGLOpenGL::allocateAndBindDisplayBufferBacking):

  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::surfaceFromPool):
(WebCore::IOSurface::create):
(WebCore::IOSurface::createFromSendRight):
(WebCore::IOSurface::createFromSurface):
(WebCore::IOSurface::createFromImage):
(WebCore::IOSurface::createFromPixelBuffer):
(WebCore::IOSurface::IOSurface):
(WebCore::IOSurface::ensurePlatformContext):
(WebCore::IOSurface::migrateColorSpaceToProperties):

  • platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:

(WebCore::FilterEffectRendererCoreImage::renderToImageBuffer):

  • platform/graphics/cv/ImageTransferSessionVT.mm:

(WebCore::ImageTransferSessionVT::createPixelBuffer):

  • platform/graphics/cv/PixelBufferConformerCV.cpp:

(WebCore::PixelBufferConformerCV::createImageFromPixelBuffer):

  • platform/graphics/displaylists/DisplayListImageBuffer.h:

(WebCore::DisplayList::ImageBuffer::create):

  • platform/graphics/displaylists/DisplayListItemBuffer.cpp:

(WebCore::DisplayList::ItemHandle::destroy):

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::BeginClipToDrawingCommands::BeginClipToDrawingCommands):
(WebCore::DisplayList::BeginClipToDrawingCommands::colorSpace const):
(WebCore::DisplayList::BeginClipToDrawingCommands::encode const):
(WebCore::DisplayList::BeginClipToDrawingCommands::decode):
(WebCore::DisplayList::GetPixelBuffer::GetPixelBuffer):
(WebCore::DisplayList::GetPixelBuffer::outputFormat const):
(WebCore::DisplayList::GetPixelBuffer::encode const):
(WebCore::DisplayList::GetPixelBuffer::decode):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::clipToDrawingCommands):

  • platform/graphics/displaylists/DisplayListRecorder.h:
  • platform/graphics/filters/FEDisplacementMap.cpp:

(WebCore::FEDisplacementMap::setResultColorSpace):

  • platform/graphics/filters/FEDisplacementMap.h:
  • platform/graphics/filters/FEFlood.h:
  • platform/graphics/filters/FETile.cpp:

(WebCore::FETile::platformApplySoftware):

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::convertPixelBufferToColorSpace):
(WebCore::FilterEffect::convertImageBufferToColorSpace):
(WebCore::FilterEffect::copyConvertedImageBufferToDestination):
(WebCore::FilterEffect::copyConvertedPixelBufferToDestination):
(WebCore::FilterEffect::requiresPixelBufferColorSpaceConversion):
(WebCore::FilterEffect::transformResultColorSpace):

  • platform/graphics/filters/FilterEffect.h:

(WebCore::FilterEffect::operatingColorSpace const):
(WebCore::FilterEffect::setOperatingColorSpace):
(WebCore::FilterEffect::resultColorSpace const):
(WebCore::FilterEffect::setResultColorSpace):

  • platform/graphics/filters/SourceGraphic.h:

(WebCore::SourceGraphic::SourceGraphic):

  • platform/gtk/PlatformScreenGtk.cpp:

(WebCore::screenColorSpace):

  • platform/ios/PlatformScreenIOS.mm:

(WebCore::screenColorSpace):
(WebCore::collectScreenProperties):

  • platform/mac/PlatformScreenMac.mm:

(WebCore::collectScreenProperties):
(WebCore::screenColorSpace):

  • platform/mac/ThemeMac.mm:

(WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext):

  • platform/mediastream/mac/ScreenDisplayCapturerMac.mm:

(WebCore::ScreenDisplayCapturerMac::createDisplayStream):

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::imageBuffer const):

  • platform/playstation/PlatformScreenPlayStation.cpp:

(WebCore::screenColorSpace):

  • platform/win/PlatformScreenWin.cpp:

(WebCore::screenColorSpace):

  • platform/wpe/PlatformScreenWPE.cpp:

(WebCore::screenColorSpace):

  • platform/xr/PlatformXR.h:

(PlatformXR::Device::FrameData::LayerData::decode):

  • rendering/CSSFilter.cpp:

(WebCore::CSSFilter::buildReferenceFilter):
(WebCore::CSSFilter::build):
(WebCore::CSSFilter::allocateBackingStoreIfNeeded):
(WebCore::CSSFilter::apply):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderLayerBacking.cpp:

(WebCore::patternForDescription):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintSystemPreviewBadge):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintProgressBar):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createRasterShape):

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::applyClippingToContext):

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::buildPrimitives const):
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::postApplyResource):

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::createMaskAndSwapContextForTextGradient):

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):

  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::createTileImage const):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::createImageBuffer):
(WebCore::SVGRenderingContext::bufferForeground):

  • rendering/svg/SVGRenderingContext.h:
  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::nativeImage):
(WebCore::SVGImage::drawPatternForContainer):

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::platformApplySoftware):

Source/WebCore/PAL:

  • pal/spi/cg/CoreGraphicsSPI.h:

Add addional SPI for working with CGColorSpaceRefs.

Source/WebKit:

  • Update ImageBuffer subclass signatures to use "const DestinationColorSpace&" to conform to the base class.
  • Replace ColorSpaceData with Optional<DestinationColorSpace>. No reason to have two types that are the same.
  • Give all ports a color space configuration for ShareableBitmap now that there is a common class for representing color space.
  • Update DisplayList decoding to account for BeginClipToDrawingCommands and GetPixelBuffer no longer being inlineable due to now having non-trivial destructors due to DestinationColorSpace member.
  • GPUProcess/graphics/RemoteImageBuffer.h:

(WebKit::RemoteImageBuffer::create):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::createImageBuffer):

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • GPUProcess/media/RemoteImageDecoderAVFProxy.cpp:

(WebKit::RemoteImageDecoderAVFProxy::createFrameImageAtIndex):

  • GPUProcess/media/RemoteImageDecoderAVFProxy.h:
  • GPUProcess/media/RemoteImageDecoderAVFProxy.messages.in:
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):

  • Shared/ShareableBitmap.cpp:

(WebKit::ShareableBitmap::Configuration::encode const):
(WebKit::ShareableBitmap::Configuration::decode):

  • Shared/ShareableBitmap.h:
  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • Shared/cg/ShareableBitmapCG.cpp:

(WebKit::colorSpace):

  • Shared/mac/ColorSpaceData.h: Removed.
  • Shared/mac/ColorSpaceData.mm: Removed.
  • SourcesCocoa.txt:
  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _takeViewSnapshot]):
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::colorSpace):

  • UIProcess/PageClient.h:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:

(WebKit::recursivelyMapIOSurfaceBackingStore):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::colorSpace):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::colorSpace):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:

(WebKit::ImageBufferShareableBitmapBackend::configuration):

  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:

(WebKit::RemoteGraphicsContextGLProxy::prepareForDisplay):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::create):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::createImageBuffer):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:

(WebKit::ImageBufferShareableMappedIOSurfaceBackend::create):

  • WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:

(WebKit::RemoteImageDecoderAVF::createFrameImageAtIndex):

  • WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:

(WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime):
(WebKit::MediaPlayerPrivateRemote::pixelBufferForCurrentTime):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::PDFPlugin):

  • WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp:

(WebKit::createShareableBitmap):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createImageBuffer const):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::convertDragImageToBitmap):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::setColorSpace):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::snapshotOptionsToBitmapConfiguration):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::setColorSpace):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::imageForCurrentSharingServicePickerItem):
Update for new DestinationColorSpace class.

Tools:

  • TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:

(TestWebKitAPI::TEST):
Upate test to use new DestinationColorSpace type.

3:12 PM Changeset in webkit [277939] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.0-branch/Source

Versioning.

WebKit-7612.1.15.0.6

3:07 PM Changeset in webkit [277938] by Russell Epstein
  • 8 edits in trunk/Source

Versioning.

WebKit-7612.1.16

3:05 PM Changeset in webkit [277937] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.1-branch/Source

Versioning.

WebKit-7612.1.15.1.10

2:46 PM Changeset in webkit [277936] by mark.lam@apple.com
  • 22 edits in trunk/Source

Remove ENABLE(MASM_PROBE) flag.
https://bugs.webkit.org/show_bug.cgi?id=226154

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  • assembler/MacroAssembler.cpp:
  • assembler/MacroAssembler.h:
  • assembler/MacroAssemblerARM64.cpp:
  • assembler/MacroAssemblerARMv7.cpp:

(JSC::MacroAssembler::probe):

  • assembler/MacroAssemblerMIPS.cpp:

(JSC::MacroAssembler::probe):

  • assembler/MacroAssemblerPrinter.cpp:
  • assembler/MacroAssemblerPrinter.h:
  • assembler/MacroAssemblerX86Common.cpp:

(JSC::MacroAssembler::probe):

  • assembler/ProbeContext.cpp:
  • assembler/ProbeContext.h:
  • assembler/ProbeFrame.h:
  • assembler/ProbeStack.cpp:
  • assembler/ProbeStack.h:
  • assembler/testmasm.cpp:

(JSC::isSpecialGPR):
(JSC::testClearBits64WithMask):
(JSC::testClearBits64WithMaskTernary):
(JSC::testShiftAndAdd):
(JSC::testProbeModifiesStackValues):
(JSC::run):

  • b3/B3LowerToAir.cpp:
  • b3/air/AirPrintSpecial.cpp:
  • b3/air/AirPrintSpecial.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • tools/JSDollarVM.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION_WITH_ATTRIBUTES):

Source/WTF:

The MacroAssembler::probe() mechanism is now available on all supported platforms.
There's no longer a need for the ENABLE(MASM_PROBE) flag.

  • wtf/PlatformEnable.h:
2:42 PM Changeset in webkit [277935] by Russell Epstein
  • 1 copy in tags/Safari-612.1.15.1.9

Tag Safari-612.1.15.1.9.

1:33 PM Changeset in webkit [277934] by Chris Dumez
  • 33 edits in trunk/Source

Use CheckedLock in even more places
https://bugs.webkit.org/show_bug.cgi?id=226152

Reviewed by Darin Adler.

Use CheckedLock in even more places to benefit from Clang Thread Safety Analysis.

Source/JavaScriptCore:

  • API/JSVirtualMachine.mm:

(WTF_REQUIRES_LOCK):

  • API/glib/JSCVirtualMachine.cpp:
  • bytecode/StructureStubInfo.h:
  • bytecode/SuperSampler.cpp:
  • dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::invalidate):
(JSC::DFG::CommonData::~CommonData):
(JSC::DFG::CommonData::installVMTrapBreakpoints):
(JSC::DFG::codeBlockForVMTrapPC):

  • dfg/DFGPlan.h:

(JSC::DFG::Plan::WTF_GUARDED_BY_LOCK):

  • disassembler/Disassembler.cpp:
  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::parallelNotEmptyBlockSource):

  • heap/Heap.h:
  • heap/IsoSubspacePerVM.h:
  • inspector/remote/socket/RemoteInspectorConnectionClient.h:

Source/WebCore:

  • platform/image-decoders/ScalableImageDecoder.cpp:

(WebCore::ScalableImageDecoder::frameIsCompleteAtIndex const):
(WebCore::ScalableImageDecoder::frameHasAlphaAtIndex const):
(WebCore::ScalableImageDecoder::frameBytesAtIndex const):
(WebCore::ScalableImageDecoder::frameDurationAtIndex const):
(WebCore::ScalableImageDecoder::createFrameImageAtIndex):

  • platform/image-decoders/ScalableImageDecoder.h:
  • platform/mediarecorder/MediaRecorderPrivateMock.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/RealtimeOutgoingAudioSource.h:
  • platform/mediastream/RealtimeOutgoingVideoSource.h:
  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:

(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable):
(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::pullAudioData):

  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h:
  • platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:
  • platform/mediastream/mac/AVVideoCaptureSource.h:
  • platform/sql/SQLiteDatabase.h:
  • worklets/PaintWorkletGlobalScope.h:

Source/WebKit:

  • GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
  • GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
  • NetworkProcess/glib/DNSCache.h:
  • Shared/mac/MediaFormatReader/MediaSampleCursor.cpp:

(WebKit::MediaSampleCursor::locateIterator const):
(WebKit::MediaSampleCursor::locateMediaSample const):
(WebKit::MediaSampleCursor::locateTiming const):
(WebKit::MediaSampleCursor::stepInOrderedMap):
(WebKit::MediaSampleCursor::stepInPresentationTime):
(WebKit::MediaSampleCursor::getMediaSample const):
(WebKit::MediaSampleCursor::getTiming const):
(WebKit::MediaSampleCursor::getPlayableHorizon const):

  • Shared/mac/MediaFormatReader/MediaSampleCursor.h:
1:15 PM Changeset in webkit [277933] by Ross Kirsling
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Fix JSC Debug tests for r277926.

  • jit/JITThunks.cpp:

(JSC::JITThunks::preinitializeCTIThunks):
Address oversight, made visible by the assertion added in r277850.

12:55 PM Changeset in webkit [277932] by Chris Dumez
  • 32 edits in trunk

Drop WTF::tryHoldLock() as it is incompatible with Clang Thread Safety Analysis
https://bugs.webkit.org/show_bug.cgi?id=226145

Reviewed by Darin Adler.

Drop WTF::tryHoldLock() as it is incompatible with Clang Thread Safety Analysis.
Instead, use the following pattern which is supported:
`
if (lock.tryLock()) {

Locker locker { AdoptLock, lock };
...

}
`

Source/JavaScriptCore:

  • heap/Heap.cpp:

(JSC::Heap::resumeThePeriphery):

  • runtime/VMTraps.cpp:

(JSC::VMTraps::tryInstallTrapBreakpoints):

Source/WebCore:

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::process):

  • Modules/webaudio/AudioWorkletNode.cpp:

(WebCore::AudioWorkletNode::process):

  • Modules/webaudio/ConvolverNode.cpp:

(WebCore::ConvolverNode::process):

  • Modules/webaudio/MediaElementAudioSourceNode.cpp:

(WebCore::MediaElementAudioSourceNode::process):

  • Modules/webaudio/MediaStreamAudioSourceNode.cpp:

(WebCore::MediaStreamAudioSourceNode::process):

  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::process):

  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::process):

  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::process):

  • Modules/webaudio/WaveShaperProcessor.cpp:

(WebCore::WaveShaperProcessor::process):

  • platform/audio/ReverbConvolver.cpp:

(WebCore::ReverbConvolver::process):

  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::purgeTimerFired):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):

  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:

(WebCore::AudioSourceProviderAVFObjC::provideInput):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSample):

  • platform/mediastream/mac/WebAudioSourceProviderCocoa.mm:

(WebCore::WebAudioSourceProviderCocoa::provideInput):

  • workers/WorkerOrWorkletThread.cpp:

(WebCore::WorkerOrWorkletThread::stop):

Source/WTF:

  • wtf/CheckedLock.h:
  • wtf/Lock.h:
  • wtf/Locker.h:

(WTF::Locker::Locker):

12:52 PM Changeset in webkit [277931] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.1-branch/Source

Versioning.

WebKit-7612.1.15.1.9

6:59 AM Changeset in webkit [277930] by mark.lam@apple.com
  • 2 edits in trunk/Source/WTF

Build fix for JSCOnly-Linux-AArch64 bot.

Not reviewed.

  • wtf/Vector.h:

(WTF::Malloc>::expandCapacity):
(WTF::Malloc>::reserveCapacity):
(WTF::Malloc>::constructAndAppendSlowCase):

May 22, 2021:

11:23 PM Changeset in webkit [277929] by mark.lam@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Use singleton thunks for virtual calls.
https://bugs.webkit.org/show_bug.cgi?id=226149
rdar://problem/78357604

Reviewed by Yusuke Suzuki.

Change virtualThunkFor() to return 1 of 6 possible singleton thunks.
These thunks are cached via vm.jitStubs->ctiStubs().

This change saves us ~16M of executable JIT memory (for the unique thunks) on a
single run of Speedometer2. On an M1 Mac, switching to singleton thunks here also
appears to be a 1.012x speed up on Speedometer2. Performance is neutral on
JetStream2.

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiInternalFunctionCall):
(JSC::JITThunks::ctiInternalFunctionConstruct):

  • jit/JITThunks.h:
  • jit/ThunkGenerators.cpp:

(JSC::virtualThunkFor):
(JSC::virtualThunkForRegularCall):
(JSC::virtualThunkForRegularConstruct):
(JSC::virtualThunkForTailCall):
(JSC::virtualThunkForTailConstruct):
(JSC::virtualThunkForConstructCall):
(JSC::virtualThunkForConstructConstruct):

  • runtime/VM.cpp:

(JSC::VM::getCTIInternalFunctionTrampolineFor):

  • runtime/VM.h:
11:07 PM Changeset in webkit [277928] by mark.lam@apple.com
  • 18 edits in trunk/Source/JavaScriptCore

Enhance Link Buffer stats to have more fine grain profiles, and to collect count information.
https://bugs.webkit.org/show_bug.cgi?id=226151
rdar://problem/78359436

Reviewed by Yusuke Suzuki.

And also add a total of the sizes.
Also added $vm.clearLinkBufferStats() which resets all the stats to 0.

Here's an example of that the new stats look like:

Cummulative LinkBuffer profile sizes:

BaselineJIT: 61092032 (58.261902 MB) count 11621 avg size 5257

DFG: 35387904 (33.748535 MB) count 11143 avg size 3175

InlineCache: 19639155 (18.729358 MB) count 283890 avg size 69

VirtualThunk: 14256800 (13.596344 MB) count 43900 avg size 324

DFGOSRExit: 7636736 (7.282959 MB) count 5235 avg size 1458

FTL: 4927616 (4.699341 MB) count 5269 avg size 935

Wasm: 2134688 (2.035797 MB) count 847 avg size 2520

YarrJIT: 1320928 (1.259735 MB) count 2075 avg size 636

FTLOSRExit: 1084096 (1.033875 MB) count 417 avg size 2599

WasmThunk: 41408 (40.437500 KB) count 252 avg size 164

FTLThunk: 25088 (24.500000 KB) count 426 avg size 58

ExtraCTIThunk: 5984 (5.843750 KB) count 95 avg size 62

SpecializedThunk: 3456 (3.375000 KB) count 19 avg size 181

Thunk: 1760 (1.718750 KB) count 10 avg size 176

BoundFunctionThunk: 864 count 3 avg size 288

LLIntThunk: 608 count 18 avg size 33

DFGThunk: 608 count 1 avg size 608

DFGOSREntry: 160 count 1 avg size 160

JumpIsland: 0

CSSJIT: 0

Uncategorized: 0

Total: 147559891 (140.724078 MB)

  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::performFinalization):
(JSC::LinkBuffer::clearProfileStatistics):
(JSC::LinkBuffer::dumpProfileStatistics):

  • assembler/LinkBuffer.h:
  • dfg/DFGOSRExit.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION):

  • dfg/DFGThunks.cpp:

(JSC::DFG::osrExitGenerationThunkGenerator):
(JSC::DFG::osrEntryThunkGenerator):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLThunks.cpp:

(JSC::FTL::genericGenerationThunkGenerator):
(JSC::FTL::slowPathCallThunkGenerator):

  • jit/ExecutableAllocator.cpp:
  • jit/JITOpcodes.cpp:

(JSC::JIT::op_ret_handlerGenerator):
(JSC::JIT::op_throw_handlerGenerator):
(JSC::JIT::op_enter_handlerGenerator):
(JSC::JIT::op_check_traps_handlerGenerator):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::slow_op_get_by_val_prepareCallGenerator):
(JSC::JIT::slow_op_get_private_name_prepareCallGenerator):
(JSC::JIT::slow_op_put_by_val_prepareCallGenerator):
(JSC::JIT::slow_op_put_private_name_prepareCallGenerator):
(JSC::JIT::slow_op_del_by_id_prepareCallGenerator):
(JSC::JIT::slow_op_del_by_val_prepareCallGenerator):
(JSC::JIT::slow_op_get_by_id_prepareCallGenerator):
(JSC::JIT::slow_op_get_by_id_with_this_prepareCallGenerator):
(JSC::JIT::slow_op_put_by_id_prepareCallGenerator):
(JSC::JIT::slow_op_get_from_scopeGenerator):
(JSC::JIT::slow_op_put_to_scopeGenerator):

  • jit/SlowPathCall.cpp:

(JSC::JITSlowPathCall::generateThunk):

  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::finalize):

  • jit/ThunkGenerators.cpp:

(JSC::handleExceptionGenerator):
(JSC::handleExceptionWithCallFrameRollbackGenerator):
(JSC::popThunkStackPreservesAndHandleExceptionGenerator):
(JSC::checkExceptionGenerator):
(JSC::virtualThunkFor):
(JSC::boundFunctionCallGenerator):

  • llint/LLIntThunks.cpp:

(JSC::LLInt::generateThunkWithJumpTo):
(JSC::LLInt::generateThunkWithJumpToPrologue):
(JSC::LLInt::generateThunkWithJumpToLLIntReturnPoint):
(JSC::LLInt::getHostCallReturnValueThunk):
(JSC::LLInt::createJSGateThunk):
(JSC::LLInt::createWasmGateThunk):
(JSC::LLInt::createTailCallGate):
(JSC::LLInt::loopOSREntryGateThunk):
(JSC::LLInt::entryOSREntryGateThunk):
(JSC::LLInt::wasmOSREntryGateThunk):
(JSC::LLInt::exceptionHandlerGateThunk):
(JSC::LLInt::returnFromLLIntGateThunk):
(JSC::LLInt::tagGateThunk):
(JSC::LLInt::untagGateThunk):
(JSC::LLInt::jitCagePtrThunk):

  • tools/JSDollarVM.cpp:

(JSC::JSDollarVM::finishCreation):

  • wasm/WasmBinding.cpp:

(JSC::Wasm::wasmToWasm):

  • wasm/WasmThunks.cpp:

(JSC::Wasm::throwExceptionFromWasmThunkGenerator):
(JSC::Wasm::throwStackOverflowFromWasmThunkGenerator):
(JSC::Wasm::triggerOMGEntryTierUpThunkGenerator):

  • wasm/js/WasmToJS.cpp:

(JSC::Wasm::wasmToJS):

9:28 PM Changeset in webkit [277927] by Lauro Moura
  • 2 edits in trunk/WebDriverTests

[WebDriver] Gardening more failures

Unreviewed test gardening.

8:50 PM Changeset in webkit [277926] by Ross Kirsling
  • 38 edits
    1 add in trunk

Support Ergonomic Brand Checks proposal (#x in obj)
https://bugs.webkit.org/show_bug.cgi?id=221093

Reviewed by Caio Araujo Neponoceno de Lima.

JSTests:

  • stress/private-in.js: Added.
  • test262/config.yaml: Add feature flag.

Source/JavaScriptCore:

This patch implements the following Stage 3 proposal (behind a runtime option):
https://github.com/tc39/proposal-private-fields-in-in

Specifically, it extends the in keyword to allow the LHS to be a private name,
thereby allowing users to implement Array.isArray-esque brand checks for their own classes
*without* having to wrap a private member get in a try-catch.

For example:
`
class C {

#x;
static isC(obj) { return #x in obj; }

}
`

This is done by adding two new bytecode ops, HasPrivateName and HasPrivateBrand. For the moment,
these are implemented without fast paths, as we should do so for InByVal first and then have these follow suit.

  • bytecode/BytecodeList.rb:
  • bytecode/BytecodeUseDef.cpp:

(JSC::computeUsesForBytecodeIndexImpl):
(JSC::computeDefsForBytecodeIndexImpl):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitHasPrivateName):
(JSC::BytecodeGenerator::emitHasPrivateBrand):
(JSC::BytecodeGenerator::emitCheckPrivateBrand):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::InNode::emitBytecode):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileHasPrivateName):
(JSC::DFG::SpeculativeJIT::compileHasPrivateBrand):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileHasPrivateName):
(JSC::FTL::DFG::LowerDFGToB3::compileHasPrivateBrand):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JITOperations.cpp:

(JSC::JSC_DEFINE_JIT_OPERATION):

  • jit/JITOperations.h:
  • llint/LowLevelInterpreter.asm:
  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createPrivateIdentifierNode):

  • parser/NodeConstructors.h:

(JSC::PrivateIdentifierNode::PrivateIdentifierNode):

  • parser/Nodes.h:

(JSC::ExpressionNode::isPrivateIdentifier const):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseBinaryExpression):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createPrivateIdentifierNode):

  • parser/VariableEnvironment.h:
  • runtime/CommonSlowPaths.cpp:

(JSC::JSC_DEFINE_COMMON_SLOW_PATH):

  • runtime/CommonSlowPaths.h:
  • runtime/JSObject.h:
  • runtime/JSObjectInlines.h:

(JSC::JSObject::hasPrivateField):
(JSC::JSObject::hasPrivateBrand):
(JSC::JSObject::checkPrivateBrand):

  • runtime/OptionsList.h:
4:50 PM Changeset in webkit [277925] by Wenson Hsieh
  • 4 edits in trunk/Source/WebKit

[iOS] Implement page client hook for requesting image extraction results
https://bugs.webkit.org/show_bug.cgi?id=226144
rdar://78355604

Reviewed by Tim Horton.

Add a method stub for PageClientImpl::requestImageExtraction, which currently just invokes the completion
handler with empty results. See bug for more details.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::requestImageExtraction):

  • UIProcess/ios/WKContentViewInteraction.h:
4:20 PM Changeset in webkit [277924] by Russell Epstein
  • 1 copy in tags/Safari-612.1.15.0.5

Tag Safari-612.1.15.0.5.

4:10 PM Changeset in webkit [277923] by Russell Epstein
  • 8 edits in branches/safari-612.1.12-branch/Source

Versioning.

WebKit-7612.1.12.12

2:40 PM Changeset in webkit [277922] by Chris Dumez
  • 29 edits in trunk/Source

Adopt CheckedLock in more places
https://bugs.webkit.org/show_bug.cgi?id=226138

Reviewed by Darin Adler.

Adopt CheckedLock in more places to benefit from Clang Thread Safety Analysis.

Source/WebCore:

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::performClose):
(WebCore::Database::scheduleTransaction):
(WebCore::Database::inProgressTransactionCompleted):
(WebCore::Database::hasPendingTransaction):
(WebCore::Database::runTransaction):

  • Modules/webdatabase/Database.h:

(WebCore::Database::WTF_GUARDED_BY_LOCK):

  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::addProposedDatabase):
(WebCore::DatabaseManager::removeProposedDatabase):
(WebCore::DatabaseManager::fullPathForDatabase):
(WebCore::DatabaseManager::detailsForNameAndOrigin):

  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::databaseThread):
(WebCore::DatabaseThread::recordDatabaseOpen):
(WebCore::DatabaseThread::recordDatabaseClosed):
(WebCore::DatabaseThread::hasPendingDatabaseActivity const):

  • Modules/webdatabase/DatabaseThread.h:
  • Modules/webdatabase/SQLCallbackWrapper.h:

(WebCore::SQLCallbackWrapper::clear):
(WebCore::SQLCallbackWrapper::unwrap):

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::enqueueStatement):
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
(WebCore::SQLTransaction::getNextStatement):

  • Modules/webdatabase/SQLTransaction.h:
  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::doCleanup):

  • accessibility/isolatedtree/AXIsolatedTree.h:

(WebCore::AXIsolatedTree::WTF_GUARDED_BY_LOCK):

  • platform/AbortableTaskQueue.h:
  • platform/audio/cocoa/AudioDestinationCocoa.cpp:

(WebCore::AudioDestinationCocoa::render):

  • platform/audio/cocoa/AudioDestinationCocoa.h:
  • platform/audio/gstreamer/AudioDestinationGStreamer.h:
  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:

(WebCore::AudioSourceProviderGStreamer::provideInput):
(WebCore::AudioSourceProviderGStreamer::handleSample):
(WebCore::AudioSourceProviderGStreamer::clearAdapters):

  • platform/audio/gstreamer/AudioSourceProviderGStreamer.h:
  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcRenderIteration):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::addToMap):
(WebCore::AVFWrapper::removeFromMap const):
(WebCore::AVFWrapper::avfWrapperForCallbackContext):
(WebCore::AVFWrapper::periodicTimeObserverCallback):
(WebCore::AVFWrapper::processNotification):
(WebCore::AVFWrapper::loadPlayableCompletionCallback):
(WebCore::AVFWrapper::loadMetadataCompletionCallback):
(WebCore::AVFWrapper::seekCompletedCallback):
(WebCore::AVFWrapper::processCue):
(WebCore::AVFWrapper::legibleOutputCallback):
(WebCore::AVFWrapper::processShouldWaitForLoadingOfResource):
(WebCore::AVFWrapper::resourceLoaderShouldWaitForLoadingOfRequestedResource):

Source/WebKit:

  • Platform/IPC/Connection.cpp:

(IPC::Connection::SyncMessageState::enqueueMatchingMessages):
(IPC::Connection::SyncMessageState::processIncomingMessage):
(IPC::Connection::SyncMessageState::dispatchMessages):
(IPC::Connection::SyncMessageState::dispatchMessagesAndResetDidScheduleDispatchMessagesForConnection):

Source/WTF:

  • wtf/Assertions.cpp:
  • wtf/TimingScope.cpp:
  • wtf/threads/BinarySemaphore.cpp:

(WTF::BinarySemaphore::waitUntil):

  • wtf/threads/BinarySemaphore.h:
1:10 PM Changeset in webkit [277921] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Use CheckedLock in SpeechRecognitionCaptureSourceImpl
https://bugs.webkit.org/show_bug.cgi?id=226131

Reviewed by Darin Adler.

Use CheckedLock in SpeechRecognitionCaptureSourceImpl to benefit from Clang Thread
Safety Analysis. Note that audioSamplesAvailable() does not grab the lock before using
m_dataSource, only when setting the data member. It is unclear why it is safe so I
used WTF_IGNORES_THREAD_SAFETY_ANALYSIS and added a FIXME comment.

  • Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp:

(WebCore::SpeechRecognitionCaptureSourceImpl::updateDataSource):
(WebCore::SpeechRecognitionCaptureSourceImpl::pullSamplesAndCallDataCallback):

  • Modules/speech/SpeechRecognitionCaptureSourceImpl.h:
9:49 AM Changeset in webkit [277920] by Chris Dumez
  • 120 edits in trunk

Replace LockHolder with Locker in local variables
https://bugs.webkit.org/show_bug.cgi?id=226133

Reviewed by Darin Adler.

Replace LockHolder with Locker in local variables. It is shorter and it allows switching the lock
type more easily since the compiler with deduce the lock type T for Locker<T>.

Source/JavaScriptCore:

  • API/JSCallbackObject.h:

(JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
(JSC::JSCallbackObjectData::JSPrivatePropertyMap::deletePrivateProperty):
(JSC::JSCallbackObjectData::JSPrivatePropertyMap::visitChildren):

  • API/JSValue.mm:

(handerForStructTag):

  • API/tests/testapi.cpp:

(testCAPIViaCpp):

  • assembler/testmasm.cpp:

(JSC::run):

  • b3/air/testair.cpp:
  • b3/testb3_1.cpp:

(run):

  • bytecode/DirectEvalCodeCache.cpp:

(JSC::DirectEvalCodeCache::setSlow):
(JSC::DirectEvalCodeCache::clear):
(JSC::DirectEvalCodeCache::visitAggregateImpl):

  • bytecode/SuperSampler.cpp:

(JSC::initializeSuperSampler):
(JSC::resetSuperSamplerState):
(JSC::printSuperSamplerState):
(JSC::enableSuperSampler):
(JSC::disableSuperSampler):

  • dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::invalidate):
(JSC::DFG::CommonData::~CommonData):
(JSC::DFG::CommonData::installVMTrapBreakpoints):
(JSC::DFG::codeBlockForVMTrapPC):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::cleanMustHandleValuesIfNecessary):

  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::~Worklist):
(JSC::DFG::Worklist::finishCreation):
(JSC::DFG::Worklist::isActiveForVM const):
(JSC::DFG::Worklist::enqueue):
(JSC::DFG::Worklist::compilationState):
(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):
(JSC::DFG::Worklist::removeAllReadyPlansForVM):
(JSC::DFG::Worklist::completeAllReadyPlansForVM):
(JSC::DFG::Worklist::visitWeakReferences):
(JSC::DFG::Worklist::removeDeadPlans):
(JSC::DFG::Worklist::removeNonCompilingPlansForVM):
(JSC::DFG::Worklist::queueLength):
(JSC::DFG::Worklist::dump const):
(JSC::DFG::Worklist::setNumberOfThreads):

  • dfg/DFGWorklistInlines.h:

(JSC::DFG::Worklist::iterateCodeBlocksForGC):

  • disassembler/Disassembler.cpp:
  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::addBlock):

  • heap/CodeBlockSetInlines.h:

(JSC::CodeBlockSet::iterateCurrentlyExecuting):

  • heap/ConservativeRoots.cpp:

(JSC::ConservativeRoots::add):

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::lastChanceToFinalize):
(JSC::Heap::collectAsync):
(JSC::Heap::runBeginPhase):
(JSC::Heap::waitForCollector):
(JSC::Heap::requestCollection):
(JSC::Heap::notifyIsSafeToCollect):

  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::didReachTermination):

  • inspector/agents/InspectorScriptProfilerAgent.cpp:

(Inspector::InspectorScriptProfilerAgent::startTracking):
(Inspector::InspectorScriptProfilerAgent::trackingComplete):
(Inspector::InspectorScriptProfilerAgent::stopSamplingWhenDisconnecting):

  • inspector/remote/RemoteConnectionToTarget.cpp:

(Inspector::RemoteConnectionToTarget::setup):
(Inspector::RemoteConnectionToTarget::sendMessageToTarget):
(Inspector::RemoteConnectionToTarget::close):
(Inspector::RemoteConnectionToTarget::targetClosed):

  • inspector/remote/RemoteInspector.cpp:

(Inspector::RemoteInspector::registerTarget):
(Inspector::RemoteInspector::unregisterTarget):
(Inspector::RemoteInspector::updateTarget):
(Inspector::RemoteInspector::updateClientCapabilities):
(Inspector::RemoteInspector::setClient):
(Inspector::RemoteInspector::setupFailed):
(Inspector::RemoteInspector::setupCompleted):
(Inspector::RemoteInspector::stop):

  • inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:

(Inspector::RemoteTargetHandleRunSourceGlobal):
(Inspector::RemoteTargetQueueTaskOnGlobalQueue):
(Inspector::RemoteTargetHandleRunSourceWithInfo):
(Inspector::RemoteConnectionToTarget::setup):
(Inspector::RemoteConnectionToTarget::targetClosed):
(Inspector::RemoteConnectionToTarget::close):
(Inspector::RemoteConnectionToTarget::sendMessageToTarget):
(Inspector::RemoteConnectionToTarget::queueTaskOnPrivateRunLoop):

  • inspector/remote/cocoa/RemoteInspectorCocoa.mm:

(Inspector::RemoteInspector::updateAutomaticInspectionCandidate):
(Inspector::RemoteInspector::sendMessageToRemote):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
(Inspector::RemoteInspector::setParentProcessInformation):
(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::xpcConnectionFailed):
(Inspector::RemoteInspector::pushListingsSoon):
(Inspector::RemoteInspector::receivedIndicateMessage):
(Inspector::RemoteInspector::receivedProxyApplicationSetupMessage):

  • inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:

(Inspector::RemoteInspectorXPCConnection::close):
(Inspector::RemoteInspectorXPCConnection::closeFromMessage):
(Inspector::RemoteInspectorXPCConnection::deserializeMessage):
(Inspector::RemoteInspectorXPCConnection::handleEvent):

  • inspector/remote/glib/RemoteInspectorGlib.cpp:

(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::setupConnection):
(Inspector::RemoteInspector::pushListingsSoon):
(Inspector::RemoteInspector::sendMessageToRemote):
(Inspector::RemoteInspector::receivedGetTargetListMessage):
(Inspector::RemoteInspector::receivedDataMessage):
(Inspector::RemoteInspector::receivedCloseMessage):
(Inspector::RemoteInspector::setup):

  • inspector/remote/socket/RemoteInspectorConnectionClient.cpp:

(Inspector::RemoteInspectorConnectionClient::didReceive):

  • inspector/remote/socket/RemoteInspectorSocket.cpp:

(Inspector::RemoteInspector::didClose):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::pushListingsSoon):
(Inspector::RemoteInspector::setup):
(Inspector::RemoteInspector::setupInspectorClient):
(Inspector::RemoteInspector::frontendDidClose):
(Inspector::RemoteInspector::sendMessageToBackend):
(Inspector::RemoteInspector::startAutomationSession):

  • inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp:

(Inspector::RemoteInspectorSocketEndpoint::listenInet):
(Inspector::RemoteInspectorSocketEndpoint::isListening):
(Inspector::RemoteInspectorSocketEndpoint::workerThread):
(Inspector::RemoteInspectorSocketEndpoint::createClient):
(Inspector::RemoteInspectorSocketEndpoint::disconnect):
(Inspector::RemoteInspectorSocketEndpoint::invalidateClient):
(Inspector::RemoteInspectorSocketEndpoint::invalidateListener):
(Inspector::RemoteInspectorSocketEndpoint::getPort const):
(Inspector::RemoteInspectorSocketEndpoint::recvIfEnabled):
(Inspector::RemoteInspectorSocketEndpoint::sendIfEnabled):
(Inspector::RemoteInspectorSocketEndpoint::send):
(Inspector::RemoteInspectorSocketEndpoint::acceptInetSocketIfEnabled):

  • interpreter/CLoopStack.cpp:

(JSC::CLoopStack::addToCommittedByteCount):
(JSC::CLoopStack::committedByteCount):

  • jit/ExecutableAllocator.cpp:

(JSC::dumpJITMemory):

  • jit/ICStats.cpp:

(JSC::ICStats::ICStats):
(JSC::ICStats::~ICStats):

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiStub):
(JSC::JITThunks::existingCTIStub):
(JSC::JITThunks::ctiSlowPathFunctionStub):

  • jit/JITWorklist.cpp:

(JSC::JITWorklist::Plan::compileInThread):
(JSC::JITWorklist::Plan::isFinishedCompiling):
(JSC::JITWorklist::JITWorklist):
(JSC::JITWorklist::completeAllForVM):
(JSC::JITWorklist::poll):
(JSC::JITWorklist::compileLater):
(JSC::JITWorklist::finalizePlans):

  • parser/SourceProvider.cpp:

(JSC::SourceProvider::getID):

  • profiler/ProfilerDatabase.cpp:

(JSC::Profiler::Database::ensureBytecodesFor):
(JSC::Profiler::Database::notifyDestruction):
(JSC::Profiler::Database::addCompilation):
(JSC::Profiler::Database::logEvent):
(JSC::Profiler::Database::addDatabaseToAtExit):
(JSC::Profiler::Database::removeDatabaseFromAtExit):
(JSC::Profiler::Database::removeFirstAtExitDatabase):

  • profiler/ProfilerUID.cpp:

(JSC::Profiler::UID::create):

  • runtime/DeferredWorkTimer.cpp:

(JSC::DeferredWorkTimer::scheduleWorkSoon):
(JSC::DeferredWorkTimer::didResumeScriptExecutionOwner):

  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::timerLoop):
(JSC::SamplingProfiler::shutdown):
(JSC::SamplingProfiler::start):
(JSC::SamplingProfiler::noticeCurrentThreadAsJSCExecutionThread):
(JSC::SamplingProfiler::noticeJSLockAcquisition):
(JSC::SamplingProfiler::noticeVMEntry):
(JSC::SamplingProfiler::registerForReportAtExit):

  • runtime/Watchdog.cpp:

(JSC::Watchdog::startTimer):
(JSC::Watchdog::willDestroyVM):

  • tools/VMInspector.cpp:

(JSC::VMInspector::isValidExecutableMemory):

  • wasm/WasmBBQPlan.cpp:

(JSC::Wasm::BBQPlan::work):

  • wasm/WasmEntryPlan.cpp:

(JSC::Wasm::EntryPlan::ThreadCountHolder::ThreadCountHolder):
(JSC::Wasm::EntryPlan::ThreadCountHolder::~ThreadCountHolder):

  • wasm/WasmOMGPlan.cpp:

(JSC::Wasm::OMGPlan::work):

  • wasm/WasmPlan.cpp:

(JSC::Wasm::Plan::addCompletionTask):
(JSC::Wasm::Plan::waitForCompletion):
(JSC::Wasm::Plan::tryRemoveContextAndCancelIfLast):

  • wasm/WasmSignature.cpp:

(JSC::Wasm::SignatureInformation::signatureFor):
(JSC::Wasm::SignatureInformation::tryCleanup):

  • wasm/WasmWorklist.cpp:

(JSC::Wasm::Worklist::enqueue):
(JSC::Wasm::Worklist::completePlanSynchronously):
(JSC::Wasm::Worklist::stopAllPlansForContext):
(JSC::Wasm::Worklist::Worklist):
(JSC::Wasm::Worklist::~Worklist):

Source/WebCore:

  • Modules/webaudio/AsyncAudioDecoder.cpp:

(WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
(WebCore::AsyncAudioDecoder::runLoop):

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::performClose):
(WebCore::Database::inProgressTransactionCompleted):
(WebCore::Database::hasPendingTransaction):
(WebCore::Database::runTransaction):

  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::start):
(WebCore::DatabaseThread::databaseThread):
(WebCore::DatabaseThread::recordDatabaseOpen):
(WebCore::DatabaseThread::recordDatabaseClosed):
(WebCore::DatabaseThread::hasPendingDatabaseActivity const):

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::canEstablishDatabase):
(WebCore::DatabaseTracker::retryCanEstablishDatabase):
(WebCore::DatabaseTracker::maximumSize):
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::databaseNames):
(WebCore::DatabaseTracker::detailsForNameAndOrigin):
(WebCore::DatabaseTracker::setDatabaseDetails):
(WebCore::DatabaseTracker::doneCreatingDatabase):
(WebCore::DatabaseTracker::openDatabases):
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::originLockFor):
(WebCore::DatabaseTracker::quota):
(WebCore::DatabaseTracker::setQuota):
(WebCore::DatabaseTracker::deleteOrigin):
(WebCore::DatabaseTracker::deleteDatabase):
(WebCore::DatabaseTracker::deleteDatabaseFile):
(WebCore::DatabaseTracker::removeDeletedOpenedDatabases):

  • Modules/webdatabase/SQLCallbackWrapper.h:

(WebCore::SQLCallbackWrapper::clear):
(WebCore::SQLCallbackWrapper::unwrap):

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::enqueueStatement):
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
(WebCore::SQLTransaction::getNextStatement):

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::doCleanup):

  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::clear):
(WebCore::AXIsolatedTree::generateSubtree):
(WebCore::AXIsolatedTree::createSubtree):
(WebCore::AXIsolatedTree::updateNode):
(WebCore::AXIsolatedTree::updateNodeProperty):
(WebCore::AXIsolatedTree::updateChildren):
(WebCore::AXIsolatedTree::focusedNode):
(WebCore::AXIsolatedTree::rootNode):
(WebCore::AXIsolatedTree::setFocusedNodeID):
(WebCore::AXIsolatedTree::removeNode):
(WebCore::AXIsolatedTree::removeSubtree):
(WebCore::AXIsolatedTree::applyPendingChanges):

  • page/scrolling/mac/ScrollingTreeMac.mm:

(ScrollingTreeMac::scrollingNodeForPoint):
(ScrollingTreeMac::eventListenerRegionTypesForPoint const):

  • platform/AbortableTaskQueue.h:
  • platform/audio/cocoa/CARingBuffer.cpp:

(WebCore::CARingBufferStorageVector::flush):
(WebCore::CARingBufferStorageVector::setCurrentFrameBounds):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::addToMap):
(WebCore::AVFWrapper::removeFromMap const):
(WebCore::AVFWrapper::periodicTimeObserverCallback):
(WebCore::AVFWrapper::processNotification):
(WebCore::AVFWrapper::loadPlayableCompletionCallback):
(WebCore::AVFWrapper::loadMetadataCompletionCallback):
(WebCore::AVFWrapper::seekCompletedCallback):
(WebCore::AVFWrapper::processCue):
(WebCore::AVFWrapper::legibleOutputCallback):
(WebCore::AVFWrapper::processShouldWaitForLoadingOfResource):
(WebCore::AVFWrapper::resourceLoaderShouldWaitForLoadingOfRequestedResource):

  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:

(-[WebCoreSharedBufferResourceLoaderDelegate setExpectedContentSize:]):
(-[WebCoreSharedBufferResourceLoaderDelegate updateData:complete:]):
(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
(WebCore::ImageDecoderAVFObjC::setTrack):
(WebCore::ImageDecoderAVFObjC::createFrameImageAtIndex):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::createFrameImageAtIndex):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:

(WebCore::InbandTextTrackPrivateGStreamer::handleSample):
(WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):

  • platform/graphics/gstreamer/MainThreadNotifier.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::parseInitDataFromProtectionMessage):
(WebCore::MediaPlayerPrivateGStreamer::handleProtectionEvent):

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::tagsChanged):
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(VideoRenderRequestScheduler::start):
(VideoRenderRequestScheduler::stop):
(VideoRenderRequestScheduler::drain):
(VideoRenderRequestScheduler::requestRender):

  • platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:

(transformInPlace):
(sinkEventHandler):
(webKitMediaCommonEncryptionDecryptIsFlushing):
(setContext):

  • platform/graphics/nicosia/NicosiaBuffer.cpp:

(Nicosia::Buffer::beginPainting):
(Nicosia::Buffer::completePainting):
(Nicosia::Buffer::waitUntilPaintingComplete):

  • platform/graphics/nicosia/NicosiaPlatformLayer.h:

(Nicosia::PlatformLayer::setSceneIntegration):
(Nicosia::PlatformLayer::createUpdateScope):
(Nicosia::CompositionLayer::updateState):
(Nicosia::CompositionLayer::flushState):
(Nicosia::CompositionLayer::commitState):
(Nicosia::CompositionLayer::accessPending):
(Nicosia::CompositionLayer::accessCommitted):

  • platform/graphics/nicosia/NicosiaScene.h:

(Nicosia::Scene::accessState):

  • platform/graphics/nicosia/NicosiaSceneIntegration.cpp:

(Nicosia::SceneIntegration::setClient):
(Nicosia::SceneIntegration::invalidate):
(Nicosia::SceneIntegration::requestUpdate):

  • platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.cpp:

(Nicosia::BackingStoreTextureMapperImpl::flushUpdate):
(Nicosia::BackingStoreTextureMapperImpl::takeUpdate):

  • platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp:

(Nicosia::ContentLayerTextureMapperImpl::~ContentLayerTextureMapperImpl):
(Nicosia::ContentLayerTextureMapperImpl::invalidateClient):
(Nicosia::ContentLayerTextureMapperImpl::flushUpdate):
(Nicosia::ContentLayerTextureMapperImpl::swapBuffersIfNeeded):

  • platform/graphics/nicosia/texmap/NicosiaImageBackingTextureMapperImpl.cpp:

(Nicosia::ImageBackingTextureMapperImpl::flushUpdate):
(Nicosia::ImageBackingTextureMapperImpl::takeUpdate):

  • platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp:

(WebCore::TextureMapperGCGLPlatformLayer::swapBuffersIfNeeded):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::load):
(WebCore::MediaPlayerPrivateMediaFoundation::naturalSize const):
(WebCore::MediaPlayerPrivateMediaFoundation::addListener):
(WebCore::MediaPlayerPrivateMediaFoundation::removeListener):
(WebCore::MediaPlayerPrivateMediaFoundation::notifyDeleted):
(WebCore::MediaPlayerPrivateMediaFoundation::setNaturalSize):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::onMediaPlayerDeleted):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockStart):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockStop):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockPause):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockRestart):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockSetRate):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::ProcessMessage):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetCurrentMediaType):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::InitServicePointers):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::ReleaseServicePointers):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::SetVideoWindow):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetVideoWindow):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::SetVideoPosition):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetVideoPosition):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::RepaintVideo):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::getSample):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::returnSample):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::areSamplesPending):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::initialize):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::clear):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::stopScheduler):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::scheduleSample):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::processSamplesInQueue):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::processSample):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::schedulerThreadProcPrivate):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::setVideoWindow):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::setDestinationRect):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::createVideoSamples):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::checkDeviceState):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::presentSample):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::createD3DDevice):

  • platform/image-decoders/ScalableImageDecoder.cpp:

(WebCore::ScalableImageDecoder::frameIsCompleteAtIndex const):
(WebCore::ScalableImageDecoder::frameHasAlphaAtIndex const):
(WebCore::ScalableImageDecoder::frameBytesAtIndex const):
(WebCore::ScalableImageDecoder::frameDurationAtIndex const):
(WebCore::ScalableImageDecoder::createFrameImageAtIndex):

  • platform/image-decoders/ScalableImageDecoder.h:
  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::setTilesOpaque):
(WebCore::LegacyTileCache::doLayoutTiles):
(WebCore::LegacyTileCache::setCurrentScale):
(WebCore::LegacyTileCache::commitScaleChange):
(WebCore::LegacyTileCache::layoutTilesNow):
(WebCore::LegacyTileCache::layoutTilesNowForRect):
(WebCore::LegacyTileCache::removeAllNonVisibleTiles):
(WebCore::LegacyTileCache::removeAllTiles):
(WebCore::LegacyTileCache::removeForegroundTiles):
(WebCore::LegacyTileCache::setContentReplacementImage):
(WebCore::LegacyTileCache::contentReplacementImage const):
(WebCore::LegacyTileCache::tileCreationTimerFired):
(WebCore::LegacyTileCache::setNeedsDisplayInRect):
(WebCore::LegacyTileCache::updateTilingMode):
(WebCore::LegacyTileCache::setTilingMode):
(WebCore::LegacyTileCache::doPendingRepaints):
(WebCore::LegacyTileCache::flushSavedDisplayRects):
(WebCore::LegacyTileCache::prepareToDraw):

  • platform/ios/LegacyTileLayerPool.mm:

(WebCore::LegacyTileLayerPool::addLayer):
(WebCore::LegacyTileLayerPool::takeLayerWithSize):
(WebCore::LegacyTileLayerPool::setCapacity):
(WebCore::LegacyTileLayerPool::prune):
(WebCore::LegacyTileLayerPool::drain):

  • platform/ios/wak/WAKWindow.mm:

(-[WAKWindow setExposedScrollViewRect:]):
(-[WAKWindow exposedScrollViewRect]):

  • platform/ios/wak/WebCoreThread.mm:

(RunWebThread):
(StartWebThread):

  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:

(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable):
(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::pullAudioData):

  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::openNextStream):
(WebCore::formFinalize):
(WebCore::formClose):

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::setRequestPaused):
(WebCore::CurlRequest::setCallbackPaused):
(WebCore::CurlRequest::pausedStatusChanged):
(WebCore::CurlRequest::enableDownloadToFile):
(WebCore::CurlRequest::getDownloadedFilePath):
(WebCore::CurlRequest::writeDataToDownloadFileIfEnabled):
(WebCore::CurlRequest::closeDownloadFile):
(WebCore::CurlRequest::cleanupDownloadFile):

  • platform/network/curl/CurlSSLHandle.cpp:

(WebCore::CurlSSLHandle::allowAnyHTTPSCertificatesForHost):
(WebCore::CurlSSLHandle::canIgnoreAnyHTTPSCertificatesForHost const):
(WebCore::CurlSSLHandle::setClientCertificateInfo):
(WebCore::CurlSSLHandle::getSSLClientCertificate const):

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::maximumSize):
(WebCore::SQLiteDatabase::setMaximumSize):
(WebCore::SQLiteDatabase::pageSize):
(WebCore::SQLiteDatabase::freeSpaceSize):
(WebCore::SQLiteDatabase::totalSize):
(WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
(WebCore::SQLiteDatabase::interrupt):
(WebCore::SQLiteDatabase::setAuthorizer):
(WebCore::constructAndPrepareStatement):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::step):

Source/WebKit:

  • NetworkProcess/IndexedDB/WebIDBServer.cpp:

(WebKit::m_closeCallback):
(WebKit::WebIDBServer::getOrigins):
(WebKit::WebIDBServer::closeAndDeleteDatabasesModifiedSince):
(WebKit::WebIDBServer::closeAndDeleteDatabasesForOrigins):
(WebKit::WebIDBServer::renameOrigin):
(WebKit::WebIDBServer::openDatabase):
(WebKit::WebIDBServer::deleteDatabase):
(WebKit::WebIDBServer::abortTransaction):
(WebKit::WebIDBServer::commitTransaction):
(WebKit::WebIDBServer::didFinishHandlingVersionChangeTransaction):
(WebKit::WebIDBServer::createObjectStore):
(WebKit::WebIDBServer::deleteObjectStore):
(WebKit::WebIDBServer::renameObjectStore):
(WebKit::WebIDBServer::clearObjectStore):
(WebKit::WebIDBServer::createIndex):
(WebKit::WebIDBServer::deleteIndex):
(WebKit::WebIDBServer::renameIndex):
(WebKit::WebIDBServer::putOrAdd):
(WebKit::WebIDBServer::getRecord):
(WebKit::WebIDBServer::getAllRecords):
(WebKit::WebIDBServer::getCount):
(WebKit::WebIDBServer::deleteRecord):
(WebKit::WebIDBServer::openCursor):
(WebKit::WebIDBServer::iterateCursor):
(WebKit::WebIDBServer::establishTransaction):
(WebKit::WebIDBServer::databaseConnectionPendingClose):
(WebKit::WebIDBServer::databaseConnectionClosed):
(WebKit::WebIDBServer::abortOpenAndUpgradeNeeded):
(WebKit::WebIDBServer::didFireVersionChangeEvent):
(WebKit::WebIDBServer::openDBRequestCancelled):
(WebKit::WebIDBServer::getAllDatabaseNamesAndVersions):
(WebKit::WebIDBServer::addConnection):
(WebKit::WebIDBServer::removeConnection):
(WebKit::WebIDBServer::close):

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::writeSizeFile):
(WebKit::CacheStorage::Engine::readSizeFile):
(WebKit::CacheStorage::Engine::clearAllCachesFromDisk):
(WebKit::CacheStorage::Engine::deleteNonEmptyDirectoryOnBackgroundThread):

  • NetworkProcess/glib/DNSCache.cpp:

(WebKit::DNSCache::lookup):
(WebKit::DNSCache::update):
(WebKit::DNSCache::removeExpiredResponsesFired):
(WebKit::DNSCache::clear):

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:

(WebKit::CompositingRunLoop::suspend):
(WebKit::CompositingRunLoop::resume):
(WebKit::CompositingRunLoop::scheduleUpdate):
(WebKit::CompositingRunLoop::stopUpdates):
(WebKit::CompositingRunLoop::updateTimerFired):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::m_displayRefreshMonitor):
(WebKit::ThreadedCompositor::setScaleFactor):
(WebKit::ThreadedCompositor::setScrollPosition):
(WebKit::ThreadedCompositor::setViewportSize):
(WebKit::ThreadedCompositor::renderLayerTree):
(WebKit::ThreadedCompositor::sceneUpdateFinished):
(WebKit::ThreadedCompositor::updateSceneState):

  • UIProcess/API/glib/IconDatabase.cpp:

(WebKit::IconDatabase::populatePageURLToIconURLMap):
(WebKit::IconDatabase::clearLoadedIconsTimerFired):
(WebKit::IconDatabase::checkIconURLAndSetPageURLIfNeeded):
(WebKit::IconDatabase::loadIconForPageURL):
(WebKit::IconDatabase::iconURLForPageURL):
(WebKit::IconDatabase::setIconForPageURL):
(WebKit::IconDatabase::clear):

Source/WebKitLegacy:

  • Storage/InProcessIDBServer.cpp:

(InProcessIDBServer::InProcessIDBServer):
(InProcessIDBServer::deleteDatabase):
(InProcessIDBServer::openDatabase):
(InProcessIDBServer::abortTransaction):
(InProcessIDBServer::commitTransaction):
(InProcessIDBServer::didFinishHandlingVersionChangeTransaction):
(InProcessIDBServer::createObjectStore):
(InProcessIDBServer::deleteObjectStore):
(InProcessIDBServer::renameObjectStore):
(InProcessIDBServer::clearObjectStore):
(InProcessIDBServer::createIndex):
(InProcessIDBServer::deleteIndex):
(InProcessIDBServer::renameIndex):
(InProcessIDBServer::putOrAdd):
(InProcessIDBServer::getRecord):
(InProcessIDBServer::getAllRecords):
(InProcessIDBServer::getCount):
(InProcessIDBServer::deleteRecord):
(InProcessIDBServer::openCursor):
(InProcessIDBServer::iterateCursor):
(InProcessIDBServer::establishTransaction):
(InProcessIDBServer::databaseConnectionPendingClose):
(InProcessIDBServer::databaseConnectionClosed):
(InProcessIDBServer::abortOpenAndUpgradeNeeded):
(InProcessIDBServer::didFireVersionChangeEvent):
(InProcessIDBServer::openDBRequestCancelled):
(InProcessIDBServer::getAllDatabaseNamesAndVersions):
(InProcessIDBServer::closeAndDeleteDatabasesModifiedSince):

  • Storage/StorageAreaSync.cpp:

(WebKit::StorageAreaSync::syncTimerFired):
(WebKit::StorageAreaSync::performSync):

  • Storage/StorageTracker.cpp:

(WebKit::StorageTracker::finishedImportingOriginIdentifiers):
(WebKit::StorageTracker::syncImportOriginIdentifiers):
(WebKit::StorageTracker::syncFileSystemAndTrackerDatabase):
(WebKit::StorageTracker::setOriginDetails):
(WebKit::StorageTracker::syncSetOriginDetails):
(WebKit::StorageTracker::origins):
(WebKit::StorageTracker::deleteAllOrigins):
(WebKit::StorageTracker::syncDeleteAllOrigins):
(WebKit::StorageTracker::deleteOrigin):
(WebKit::StorageTracker::syncDeleteOrigin):
(WebKit::StorageTracker::canDeleteOrigin):
(WebKit::StorageTracker::cancelDeletingOrigin):
(WebKit::StorageTracker::diskUsageForOrigin):

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(-[WebView _synchronizeCustomFixedPositionLayoutRect]):
(-[WebView _setCustomFixedPositionLayoutRectInWebThread:synchronize:]):
(-[WebView _setCustomFixedPositionLayoutRect:]):
(-[WebView _fetchCustomFixedPositionLayoutRect:]):

Source/WebKitLegacy/win:

  • Plugins/PluginMainThreadScheduler.cpp:

(WebCore::PluginMainThreadScheduler::scheduleCall):
(WebCore::PluginMainThreadScheduler::registerPlugin):
(WebCore::PluginMainThreadScheduler::unregisterPlugin):
(WebCore::PluginMainThreadScheduler::dispatchCallsForPlugin):

Source/WTF:

  • benchmarks/LockSpeedTest.cpp:
  • wtf/AutomaticThread.cpp:

(WTF::AutomaticThread::~AutomaticThread):
(WTF::AutomaticThread::join):
(WTF::AutomaticThread::start):

  • wtf/AutomaticThread.h:
  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocatorHandle::shrink):
(WTF::MetaAllocator::addFreshFreeSpace):
(WTF::MetaAllocator::debugFreeSpaceSize):

  • wtf/ParallelHelperPool.cpp:

(WTF::ParallelHelperClient::ParallelHelperClient):
(WTF::ParallelHelperClient::~ParallelHelperClient):
(WTF::ParallelHelperClient::setTask):
(WTF::ParallelHelperClient::finish):
(WTF::ParallelHelperClient::doSomeHelping):
(WTF::ParallelHelperClient::runTask):
(WTF::ParallelHelperPool::~ParallelHelperPool):
(WTF::ParallelHelperPool::ensureThreads):
(WTF::ParallelHelperPool::doSomeHelping):

  • wtf/Seconds.cpp:

(WTF::sleep):

  • wtf/TimeWithDynamicClockType.cpp:

(WTF::sleep):

  • wtf/WorkerPool.cpp:

(WTF::WorkerPool::WorkerPool):
(WTF::WorkerPool::~WorkerPool):
(WTF::WorkerPool::postTask):

  • wtf/posix/ThreadingPOSIX.cpp:

(WTF::Thread::suspend):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):

  • wtf/win/DbgHelperWin.cpp:

(WTF::DbgHelper::SymFromAddress):

  • wtf/win/ThreadingWin.cpp:

(WTF::Thread::suspend):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):

Tools:

  • TestWebKitAPI/Tests/WTF/WorkQueue.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/glib/WorkQueueGLib.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:

(TestWebKitAPI::DeterministicScheduler::ThreadContext::waitMyTurn):
(TestWebKitAPI::DeterministicScheduler::ThreadContext::yieldToThread):

7:16 AM Changeset in webkit [277919] by Devin Rousso
  • 2 edits in trunk/Source/WebCore

ASSERTION FAILED: Component at index 1 is 1.000000 and is greater than the allowed maximum 1.000000
https://bugs.webkit.org/show_bug.cgi?id=226118
<rdar://problem/78333590>

Reviewed by Sam Weinig.

Covered by SampledPageTopColor tests.

  • platform/graphics/cg/ColorCG.cpp:

(WebCore::roundAndClampToSRGBALossy):
Use makeFromComponentsClamping to actually clamp the component values instead of assuming
that the CGColorRef will be sRGB (though it still assumes an RGB color space/format).

6:54 AM Changeset in webkit [277918] by Adrian Perez de Castro
  • 8 edits
    1 move
    5 deletes in trunk

[Tools][run-webkit-tests] Remove more leftover tests webserver PHP remains
https://bugs.webkit.org/show_bug.cgi?id=226089

Reviewed by Alexey Proskuryakov.

Remove leftover PHP module configurations used on Linux now that PHP is not used anymore.

Tools:

  • Scripts/webkitpy/port/base.py:

(Port._debian_php_version): Removed.
(Port._fedora_php_version): Removed.
(Port._is_fedora_php_version_7): Removed.
(Port._apache_config_file_name_for_platform): Modofied to not use the removed
helper methods.

  • gtk/install-dependencies: Remove PHP packages.
  • wpe/install-dependencies: Ditto.

LayoutTests:

  • http/conf/archlinux-httpd.conf: Removed PHP module configuration.
  • http/conf/debian-httpd-2.4-php7.0.conf: Removed.
  • http/conf/debian-httpd-2.4-php7.1.conf: Removed.
  • http/conf/debian-httpd-2.4-php7.2.conf: Removed.
  • http/conf/debian-httpd-2.4-php7.4.conf: Removed.
  • http/conf/debian-httpd-2.4.conf: Renamed from LayoutTests/http/conf/debian-httpd-2.4-php7.3.conf

and removed PHP module configuration.

  • http/conf/fedora-httpd-2.2.conf: Removed PHP module configuration.
  • http/conf/fedora-httpd-2.4-php7.conf: Removed.
  • http/conf/fedora-httpd-2.4.conf: Removed PHP module configuration.
4:17 AM Changeset in webkit [277917] by commit-queue@webkit.org
  • 120 edits in trunk

Unreviewed, reverting r277913.
https://bugs.webkit.org/show_bug.cgi?id=226140

Caused multiple layout-test crash on mac debug queues

Reverted changeset:

"Replace LockHolder with Locker in local variables"
https://bugs.webkit.org/show_bug.cgi?id=226133
https://trac.webkit.org/changeset/277913

2:00 AM Changeset in webkit [277916] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[ Debug ] TestWebKitAPI.IPCTestingAPI.CanDetectNilReplyBlocks (API-tests) is a constant crash
https://bugs.webkit.org/show_bug.cgi?id=226125

Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2021-05-22
Reviewed by Ryosuke Niwa.

Turn this test off for Debug.

  • TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
1:22 AM Changeset in webkit [277915] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Detect invalid InlinePathData in StrokeInlinePath
https://bugs.webkit.org/show_bug.cgi?id=225691

Patch by Rob Buis <rbuis@igalia.com> on 2021-05-22
Reviewed by Ryosuke Niwa.

Detect invalid InlinePathData in StrokeInlinePath.

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::StrokeInlinePath::StrokeInlinePath):
(WebCore::DisplayList::StrokeInlinePath::path const): Deleted.

Note: See TracTimeline for information about the timeline view.