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

Timeline



Dec 28, 2021:

5:16 PM Changeset in webkit [287477] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GTK] fast/mediastream/media-element-current-time.html is failing since added in r256346
https://bugs.webkit.org/show_bug.cgi?id=208120

Reviewed by Philippe Normand.

Wait 10ms after play() to give time to the engine to have the pipeline position going forward.

  • fast/mediastream/media-element-current-time.html:
  • platform/glib/TestExpectations:
1:43 PM Changeset in webkit [287476] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

[LFC][IFC] Do not let Layout geometry types leak into InlineDisplay::Line
https://bugs.webkit.org/show_bug.cgi?id=234729

Reviewed by Antti Koivisto.

InlineLayoutUnit -> float
InlineRect -> FloatRect
(This is also where we will eventually do some pixel snapping)

  • layout/formattingContexts/block/BlockFormattingGeometry.cpp:

(WebCore::Layout::BlockFormattingGeometry::inFlowNonReplacedContentHeightAndMargin const):

  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::usedContentHeight const):
(WebCore::Layout::InlineFormattingContext::computeStaticPositionForOutOfFlowContent):

  • layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:

(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes):

  • layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:

(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):

  • layout/formattingContexts/inline/display/InlineDisplayLine.h:

(WebCore::InlineDisplay::Line::left const):
(WebCore::InlineDisplay::Line::right const):
(WebCore::InlineDisplay::Line::top const):
(WebCore::InlineDisplay::Line::bottom const):
(WebCore::InlineDisplay::Line::topLeft const):
(WebCore::InlineDisplay::Line::lineBoxRect const):
(WebCore::InlineDisplay::Line::scrollableOverflow const):
(WebCore::InlineDisplay::Line::baseline const):
(WebCore::InlineDisplay::Line::contentLeft const):
(WebCore::InlineDisplay::Line::contentWidth const):
(WebCore::InlineDisplay::Line::moveVertically):
(WebCore::InlineDisplay::Line::Line):

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::showInlineTreeAndRuns):

1:16 PM Changeset in webkit [287475] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

[LFC][IFC] Do not let Layout geometry types leak into InlineDisplay::Box
https://bugs.webkit.org/show_bug.cgi?id=234728

Reviewed by Antti Koivisto.

InlineLayoutUnit -> float
InlineRect -> FloatRect
(This is also where we will eventually do some pixel snapping)

  • layout/formattingContexts/inline/display/InlineDisplayBox.h:

(WebCore::InlineDisplay::Box::Box):
(WebCore::InlineDisplay::Box::rect const):
(WebCore::InlineDisplay::Box::inkOverflow const):
(WebCore::InlineDisplay::Box::top const):
(WebCore::InlineDisplay::Box::bottom const):
(WebCore::InlineDisplay::Box::left const):
(WebCore::InlineDisplay::Box::right const):
(WebCore::InlineDisplay::Box::width const):
(WebCore::InlineDisplay::Box::height const):
(WebCore::InlineDisplay::Box::moveVertically):
(WebCore::InlineDisplay::Box::moveHorizontally):
(WebCore::InlineDisplay::Box::adjustInkOverflow):
(WebCore::InlineDisplay::Box::setLeft):
(WebCore::InlineDisplay::Box::setRight):
(WebCore::InlineDisplay::Box::setRect):
(WebCore::InlineDisplay::Box::truncate):

  • layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:

(WebCore::Layout::computeBoxShadowInkOverflow):
(WebCore::Layout::InlineDisplayContentBuilder::appendAtomicInlineLevelDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendSpanningInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::processOverflownRunsForEllipsis):

  • layout/integration/LayoutIntegrationBoxTree.cpp:

(WebCore::LayoutIntegration::showInlineContent):

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::showInlineTreeAndRuns):

  • platform/graphics/FloatRect.h:

(WebCore::FloatRect::inflate):

12:36 PM Changeset in webkit [287474] by weinig@apple.com
  • 9 edits
    6 adds in trunk

Support color interpolation methods for CSS Gradients
https://bugs.webkit.org/show_bug.cgi?id=234711

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Add parsing and serialization tests that exercise the new support for the <color-interpolation-method>
production in CSS gradients.

  • web-platform-tests/css/css-images/parsing/gradient-interpolation-method-computed-expected.txt: Added.
  • web-platform-tests/css/css-images/parsing/gradient-interpolation-method-computed.html: Added.
  • web-platform-tests/css/css-images/parsing/gradient-interpolation-method-invalid-expected.txt: Added.
  • web-platform-tests/css/css-images/parsing/gradient-interpolation-method-invalid.html: Added.
  • web-platform-tests/css/css-images/parsing/gradient-interpolation-method-valid-expected.txt: Added.
  • web-platform-tests/css/css-images/parsing/gradient-interpolation-method-valid.html: Added.

Source/WebCore:

Tests: imported/w3c/web-platform-tests/css/css-images/parsing/gradient-interpolation-method-computed.html

imported/w3c/web-platform-tests/css/css-images/parsing/gradient-interpolation-method-invalid.html
imported/w3c/web-platform-tests/css/css-images/parsing/gradient-interpolation-method-valid.html

Add support for specifying a color intpolation method in CSS gradients. The grammar
uses the same production as color-mix(), but unlike color-mix(), it is optional for
backwards compatibility, defaulting to 'srgb'. As 'srgb' is the default if nothing is
specified, when serializing and the 'srgb' is used, no interpolation method is serialized
as specified in the spec.

  • css/CSSGradientValue.cpp:

(WebCore::appendHueInterpolationMethod):
Serialize the hue method if it is not the default, "shorter".
(WebCore::appendColorInterpolationMethod):
Serialize the color space if it is not the default, "srgb".
(WebCore::CSSLinearGradientValue::customCSSText const):
(WebCore::CSSRadialGradientValue::customCSSText const):
(WebCore::CSSConicGradientValue::customCSSText const):
Serialize the interpolation method after any initial conditions / positions
but before the color stops to match the rule in the spec that it should be
in the order they appear in the grammar.

  • css/parser/CSSParserContext.cpp:
  • css/parser/CSSParserContext.h:

Add new bit for the enabling CSS gradient interpolation method support.
Bump size of bits up to a uint64_t since we were overflowing.

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeColorInterpolationMethod):
(WebCore::CSSPropertyParserHelpers::parseColorMixFunctionParameters):
(WebCore::CSSPropertyParserHelpers::consumePrefixedRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumeRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumePrefixedLinearGradient):
(WebCore::CSSPropertyParserHelpers::consumeLinearGradient):
(WebCore::CSSPropertyParserHelpers::consumeConicGradient):
(WebCore::CSSPropertyParserHelpers::consumeGeneratedImage):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedRadialGradient): Deleted.
Add support for parsing the color interpolation method on non-prefixed/non-deprecated
gradient functions. Renames consumeDeprecatedRadialGradient to consumePrefixedRadialGradient,
since it is not consuming a deprecated radial gradient, a different function does that,
and break out consuming prefixed linear gradients into consumePrefixedLinearGradient
now that the logic is even more diverged from the standard one.

  • platform/graphics/cg/GradientRendererCG.cpp:

(WebCore::GradientRendererCG::pickStrategy const):
Use the shading strategy for all non-srgb interpolation methods as CGGradientRef does
not support it.

Source/WTF:

Add new experimental feature flag, CSSGradientInterpolationColorSpacesEnabled, to gate
support for interpolation methods in CSS gradients. Off by default.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
11:48 AM Changeset in webkit [287473] by weinig@apple.com
  • 40 edits
    2 copies
    2 moves
    41 adds
    3 deletes in trunk/LayoutTests

Update wpt css/css-color tests
https://bugs.webkit.org/show_bug.cgi?id=234684

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Updates tests.

  • resources/resource-files.json:
  • web-platform-tests/css/css-color/META.yml:
  • web-platform-tests/css/css-color/body-opacity-0-to-1-stacking-context-expected.html: Added.
  • web-platform-tests/css/css-color/body-opacity-0-to-1-stacking-context.html: Added.
  • web-platform-tests/css/css-color/color-contrast-001-expected.html: Added.
  • web-platform-tests/css/css-color/color-contrast-001.html: Added.
  • web-platform-tests/css/css-color/color-mix-basic-001-expected.html: Added.
  • web-platform-tests/css/css-color/color-mix-basic-001.html: Added.
  • web-platform-tests/css/css-color/color-mix-basic-001.tentative-expected.txt: Removed.
  • web-platform-tests/css/css-color/color-mix-basic-001.tentative.html: Removed.
  • web-platform-tests/css/css-color/color-mix-non-srgb-001-expected.html: Added.
  • web-platform-tests/css/css-color/color-mix-non-srgb-001.html: Added.
  • web-platform-tests/css/css-color/color-mix-percents-01-expected.html: Added.
  • web-platform-tests/css/css-color/color-mix-percents-01.html: Added.
  • web-platform-tests/css/css-color/color-mix-percents-02-expected.html: Added.
  • web-platform-tests/css/css-color/color-mix-percents-02.html: Added.
  • web-platform-tests/css/css-color/display-p3-001-expected.html: Added.
  • web-platform-tests/css/css-color/display-p3-001.html: Added.
  • web-platform-tests/css/css-color/display-p3-002-expected.html: Added.
  • web-platform-tests/css/css-color/display-p3-002.html: Added.
  • web-platform-tests/css/css-color/display-p3-003-expected.html: Added.
  • web-platform-tests/css/css-color/display-p3-003.html: Added.
  • web-platform-tests/css/css-color/display-p3-004-expected.html: Added.
  • web-platform-tests/css/css-color/display-p3-004.html: Added.
  • web-platform-tests/css/css-color/display-p3-005-expected.html: Added.
  • web-platform-tests/css/css-color/display-p3-005.html: Added.
  • web-platform-tests/css/css-color/display-p3-006-expected.html: Added.
  • web-platform-tests/css/css-color/display-p3-006.html: Added.
  • web-platform-tests/css/css-color/inline-opacity-float-child-expected.xht: Added.
  • web-platform-tests/css/css-color/inline-opacity-float-child.html: Added.
  • web-platform-tests/css/css-color/oklab-001.html:
  • web-platform-tests/css/css-color/oklab-002.html:
  • web-platform-tests/css/css-color/oklab-003.html:
  • web-platform-tests/css/css-color/oklab-004.html:
  • web-platform-tests/css/css-color/oklab-005.html:
  • web-platform-tests/css/css-color/oklab-006.html:
  • web-platform-tests/css/css-color/oklab-007.html:
  • web-platform-tests/css/css-color/oklab-008.html:
  • web-platform-tests/css/css-color/oklch-001.html:
  • web-platform-tests/css/css-color/oklch-002.html:
  • web-platform-tests/css/css-color/oklch-003.html:
  • web-platform-tests/css/css-color/oklch-004.html:
  • web-platform-tests/css/css-color/oklch-005.html:
  • web-platform-tests/css/css-color/oklch-006.html:
  • web-platform-tests/css/css-color/oklch-007.html:
  • web-platform-tests/css/css-color/oklch-008.html:
  • web-platform-tests/css/css-color/parsing/color-computed-expected.txt:
  • web-platform-tests/css/css-color/parsing/color-computed.html:
  • web-platform-tests/css/css-color/parsing/color-contrast-computed-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/color-contrast-computed.html: Added.
  • web-platform-tests/css/css-color/parsing/color-contrast-invalid-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/color-contrast-invalid.html: Added.
  • web-platform-tests/css/css-color/parsing/color-contrast-valid-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/color-contrast-valid.html: Added.
  • web-platform-tests/css/css-color/parsing/color-invalid-expected.txt:
  • web-platform-tests/css/css-color/parsing/color-invalid.html:
  • web-platform-tests/css/css-color/parsing/color-mix-computed-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/color-mix-computed.html: Added.
  • web-platform-tests/css/css-color/parsing/color-mix-invalid-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/color-mix-invalid.html: Added.
  • web-platform-tests/css/css-color/parsing/color-mix-valid-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/color-mix-valid.html: Added.
  • web-platform-tests/css/css-color/parsing/color-valid-expected.txt:
  • web-platform-tests/css/css-color/parsing/color-valid.html:
  • web-platform-tests/css/css-color/parsing/relative-color-computed-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/relative-color-computed.html: Added.
  • web-platform-tests/css/css-color/parsing/relative-color-invalid-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/relative-color-invalid.html: Added.
  • web-platform-tests/css/css-color/parsing/relative-color-valid-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/relative-color-valid.html: Added.
  • web-platform-tests/css/css-color/parsing/system-color-valid-expected.txt:
  • web-platform-tests/css/css-color/parsing/system-color-valid.html:
  • web-platform-tests/css/css-color/parsing/w3c-import.log:
  • web-platform-tests/css/css-color/predefined-001.html:
  • web-platform-tests/css/css-color/predefined-002.html:
  • web-platform-tests/css/css-color/predefined-005.html:
  • web-platform-tests/css/css-color/predefined-006.html:
  • web-platform-tests/css/css-color/predefined-013-expected.html: Removed.
  • web-platform-tests/css/css-color/predefined-013.html: Removed.
  • web-platform-tests/css/css-color/predefined-016.html:
  • web-platform-tests/css/css-color/srgb-linear-003.html:
  • web-platform-tests/css/css-color/srgb-linear-004.html:
  • web-platform-tests/css/css-color/t31-color-text-a-expected-mismatch.xht: Added.
  • web-platform-tests/css/css-color/t31-color-text-a-expected.xht: Removed.
  • web-platform-tests/css/css-color/t421-rgb-values-meaning-b-expected.html:
  • web-platform-tests/css/css-color/w3c-import.log:

LayoutTests:

Update expectations to match updated tests. One test that was marked as failing is now passing (because the test
was changed) and two new tests are known failures with corresponding annotated bugs.

  • platform/gtk/TestExpectations:

Add two new tests that are only failing on the GTK bots due to a small floating point issue that needs further
investigation.

10:01 AM Changeset in webkit [287472] by weinig@apple.com
  • 6 edits in trunk

Enhance Vector::map to allow specifying what kind of Vector to return (e.g. inline capacity, overflow, etc.)
https://bugs.webkit.org/show_bug.cgi?id=234683

Reviewed by Darin Adler.

Source/WebCore:

  • platform/graphics/GradientColorStops.h:

(WebCore::GradientColorStops::mapColors const):
(WebCore::GradientColorStops::GradientColorStops):
Utilize new overloaded Vector::map to streamline GradientColorStops::mapColors(). Also
made it preserve the isSorted bit, which is valid because the offsets don't change.

Source/WTF:

  • wtf/Vector.h:

(WTF::Vector::map const):
Add an overload of Vector::map() that allows specifying the type of the result Vector. To make this
work without giving up the argument deduction in the common case, SFINAE is used to determine which
overload to use.

Tools:

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

Add test for new Vector::map overload.

8:52 AM Changeset in webkit [287471] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Hanging content may not be whitespace type
https://bugs.webkit.org/show_bug.cgi?id=234698

Reviewed by Antti Koivisto.

While we only allow whitespace hanging content, they could be any type.

  • layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:

(WebCore::Layout::horizontalAlignmentOffset):
(WebCore::Layout::LineBoxBuilder::build):

  • layout/formattingContexts/inline/InlineLineBuilder.h:
  • layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:

(WebCore::Layout::InlineDisplayLineBuilder::build const):

8:40 AM Changeset in webkit [287470] by Alan Bujtas
  • 4 edits
    2 adds in trunk

REGRESSION(r287440) Do not wrap the content for a collapsed whitespace
https://bugs.webkit.org/show_bug.cgi?id=234710

Reviewed by Antti Koivisto.

Source/WebCore:

While r287440 was correct, shouldKeepEndOfLineWhitespace had an unintentional side-effect of
keeping collapsed whitespace content on the line even when it is followed by an inline box end
with margin/padding/border that would otherwise overflow the line.

e.g <div style="width: 0px"><span style="border-right: 100px;">X </span></div>
the overflowing inline box end should not be wrapped over to the next line.

Test: fast/inline/trailing-whitespace-content-with-overflowing-inline-box.html

  • layout/formattingContexts/inline/InlineContentBreaker.cpp:

(WebCore::Layout::isWhitespaceOnlyContent):
(WebCore::Layout::InlineContentBreaker::processOverflowingContent const):
(WebCore::Layout::isVisuallyEmptyWhitespaceContent): Deleted.

LayoutTests:

  • fast/inline/trailing-whitespace-content-with-overflowing-inline-box-expected.html: Added.
  • fast/inline/trailing-whitespace-content-with-overflowing-inline-box.html: Added.
  • platform/ios/fast/borders/rtl-border-01-expected.txt: Redo rebaselining. While the content visually looks

odd (overflowing inline box), it is the expected behavior.

4:28 AM Changeset in webkit [287469] by Manuel Rego Casasnovas
  • 4 edits
    2 adds in trunk/LayoutTests

[selectors] Import two :focus-visible tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=234720

Reviewed by Sergio Villar Senin.

LayoutTests/imported/w3c:

The tests were added in https://github.com/web-platform-tests/wpt/pull/32000
and are related to :focus-visible and accesskey.
They don't work on WebKit due to webkit.org/b/234139, though they work properly on wpt.fyi.

  • web-platform-tests/css/selectors/focus-visible-024.html: Added.
  • web-platform-tests/css/selectors/focus-visible-025.html: Added.
  • web-platform-tests/css/selectors/w3c-import.log:

LayoutTests:

Skip the new imported tests as they fail due to webkit.org/b/234139.

2:14 AM Changeset in webkit [287468] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[RISCV64] Add MacroAssemblerRISCV64 operations for floating-point branches
https://bugs.webkit.org/show_bug.cgi?id=234631

Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-12-28
Reviewed by Yusuke Suzuki.

Add the floating-point branching operation implementations in
MacroAssemblerRISCV64. Unordered status of values is determined through
the fclass instruction and then handled as appropriate for the desired
condition.

  • assembler/MacroAssemblerRISCV64.h:

(JSC::MacroAssemblerRISCV64::branchFloat):
(JSC::MacroAssemblerRISCV64::branchDouble):
(JSC::MacroAssemblerRISCV64::branchDoubleNonZero):
(JSC::MacroAssemblerRISCV64::branchDoubleZeroOrNaN):
(JSC::MacroAssemblerRISCV64::branchTruncateDoubleToInt32):
(JSC::MacroAssemblerRISCV64::branchConvertDoubleToInt32):
(JSC::MacroAssemblerRISCV64::branchFP):

1:45 AM Changeset in webkit [287467] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[RISCV64] Add MacroAssemblerRISCV64 operations for testing, comparison
https://bugs.webkit.org/show_bug.cgi?id=234630

Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-12-28
Reviewed by Yusuke Suzuki.

Add MacroAssemblerRISCV64 implementations for the different variants of
compare and test instructions.

For comparisons, the implementations set up the two values in separate
registers and perform the comparison per the inquired relation, writing
out the result into the destination register.

For tests, the two values are set up and put through the bitwise AND,
with the result evaluated and the destination register filled out
according to the inquired result condition.

  • assembler/MacroAssemblerRISCV64.h:

(JSC::MacroAssemblerRISCV64::compare8):
(JSC::MacroAssemblerRISCV64::compare32):
(JSC::MacroAssemblerRISCV64::compare64):
(JSC::MacroAssemblerRISCV64::test8):
(JSC::MacroAssemblerRISCV64::test32):
(JSC::MacroAssemblerRISCV64::test64):
(JSC::MacroAssemblerRISCV64::compareFinalize):
(JSC::MacroAssemblerRISCV64::testFinalize):

1:31 AM Changeset in webkit [287466] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[RISCV64] Add MacroAssemblerRISCV64 operations with patchable elements
https://bugs.webkit.org/show_bug.cgi?id=234635

Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-12-28
Reviewed by Yusuke Suzuki.

Add MacroAssemblerRISCV64 implementations for operations that generate
patchable code sections. This covers moves, stores and branches.

For moves and stores of pointer values, the patchable section is
achieved by generating a immediate loader instruction sequence with all
the placeholder instructions (nops) included.

Some methods that had their noop implementations provided until now have
been removed since they are not necessary anymore.

  • assembler/MacroAssemblerRISCV64.h:

(JSC::MacroAssemblerRISCV64::moveWithPatch):
(JSC::MacroAssemblerRISCV64::storePtrWithPatch):
(JSC::MacroAssemblerRISCV64::branch32WithPatch):
(JSC::MacroAssemblerRISCV64::branchPtrWithPatch):
(JSC::MacroAssemblerRISCV64::patchableBranch64):

1:06 AM Changeset in webkit [287465] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[RISCV64] Enable signal-based VM traps for CPU(RISCV64)
https://bugs.webkit.org/show_bug.cgi?id=234719

Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-12-28
Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

Enable signal-based VM traps on RISCV64. On Linux, this depends on
generating a SIGSEGV or SIGBUS signal. The former can be generated
through a simple storage instruction that sources the address from
the zero register.

This storage instruction is generated on the desired location through
the RISCV64Assembler::replaceWithVMHalt() method.

  • assembler/MacroAssemblerRISCV64.h:

(JSC::MacroAssemblerRISCV64::replaceWithVMHalt):

  • assembler/RISCV64Assembler.h:

(JSC::RISCV64Assembler::replaceWithVMHalt):

Source/WTF:

  • wtf/PlatformEnable.h: Define ENABLE_SIGNAL_BASED_VM_TRAPS for CPU(RISCV64).
12:48 AM Changeset in webkit [287464] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[RISCV64] Define HAVE_MACHINE_CONTEXT, provide mcontext_t accessors for CPU(RISCV64)
https://bugs.webkit.org/show_bug.cgi?id=234718

Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-12-28
Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

Define HAVE_MACHINE_CONTEXT for RISCV64. In the MachineContext.h
header, CPU(RISCV64)-specific accessors into the mcontext_t struct
are also provided.

  • runtime/MachineContext.h:

(JSC::MachineContext::stackPointerImpl):
(JSC::MachineContext::framePointerImpl):
(JSC::MachineContext::instructionPointerImpl):
(JSC::MachineContext::argumentPointer<1>):
(JSC::MachineContext::llintInstructionPointer):

Source/WTF:

  • wtf/PlatformHave.h: Define HAVE_MACHINE_CONTEXT for CPU(RISCV64).

Dec 27, 2021:

10:10 PM Changeset in webkit [287463] by ysuzuki@apple.com
  • 2 edits in trunk/Source/bmalloc

[libpas] Use thread_switch instead of sched_yield
https://bugs.webkit.org/show_bug.cgi?id=234712

Reviewed by Filip Pizlo.

Previously, we received internal reports that sched_yield waits for a long time, and causing a pause
in the client of JavaScriptCore, and we switched it to thread_switch in bmalloc::Mutex. We should do
the same thing in libpas too.

  • libpas/src/libpas/pas_lock.c:

(pas_lock_lock_slow):

9:44 PM Changeset in webkit [287462] by commit-queue@webkit.org
  • 3 edits
    1 copy
    1 add
    1 delete in trunk/LayoutTests

[GLIB] Update test expectations and baselines. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=234714

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-12-27

  • platform/glib/TestExpectations:
  • platform/glib/webgl/1.0.3/conformance/extensions/oes-texture-half-float-expected.txt: Renamed from LayoutTests/platform/gtk/webgl/1.0.3/conformance/extensions/oes-texture-half-float-expected.txt.
  • platform/glib/webgl/1.0.3/conformance/extensions/webgl-compressed-texture-s3tc-expected.txt: Added.
  • platform/wpe/TestExpectations:
4:29 PM Changeset in webkit [287461] by Wenson Hsieh
  • 3 edits in trunk/Source/WebCore

Element::boundingAbsoluteRectWithoutLayout() should be marked const
https://bugs.webkit.org/show_bug.cgi?id=234703

Reviewed by Darin Adler.

Mark an existing method on Element as const, so that it can be invoked with const Element*/const Element&.
No change in behavior.

  • dom/Element.cpp:

(WebCore::listBoxElementBoundingBox):
(WebCore::Element::boundingAbsoluteRectWithoutLayout const):
(WebCore::Element::boundingAbsoluteRectWithoutLayout): Deleted.

  • dom/Element.h:
8:39 AM Changeset in webkit [287460] by ntim@apple.com
  • 4 edits
    2 deletes in trunk/LayoutTests

Consolidate computed-style-*.txt and getComputedStyle-basic-expected.txt test results

Unreviewed test gardening.

The results in the non-platform directory are stale, the platform/mac/ results are the most recent ones.

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/mac/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
  • platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
  • platform/mac/svg/css/getComputedStyle-basic-expected.txt: Removed.
  • svg/css/getComputedStyle-basic-expected.txt:
2:04 AM Changeset in webkit [287459] by ysuzuki@apple.com
  • 18 edits
    2 moves in trunk/Source/JavaScriptCore

Consider merging Wasm::FunctionCodeBlock and Wasm::LLIntCallee
https://bugs.webkit.org/show_bug.cgi?id=203691

Reviewed by Filip Pizlo.

This patch merges Wasm::FunctionCodeBlock into Wasm::LLIntCallee since both
are one-on-one and what they want to represent are the same. We change
Wasm::FunctionCodeBlock to Wasm::FunctionCodeBlockGenerator so that we can
use FixedVector in Wasm::LLIntCallee which makes Wasm::LLIntCallee small,
and this is similar to what JS side is doing (UnlinkedCodeBlockGenerator).

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecode/BytecodeDumper.cpp:

(JSC::Wasm::BytecodeDumper::dumpBlock):
(JSC::Wasm::BytecodeDumper::dumpConstants):
(JSC::Wasm::BytecodeDumper::constantName const):

  • bytecode/BytecodeDumper.h:
  • interpreter/Interpreter.cpp:

(JSC::CatchInfo::CatchInfo):

  • llint/LLIntOffsetsExtractor.cpp:
  • llint/WebAssembly.asm:
  • wasm/WasmCallee.cpp:

(JSC::Wasm::LLIntCallee::LLIntCallee):
(JSC::Wasm::LLIntCallee::outOfLineJumpOffset):
(JSC::Wasm::LLIntCallee::outOfLineJumpTarget):
(JSC::Wasm::LLIntCallee::linkExceptionHandlers): Deleted.

  • wasm/WasmCallee.h:

(JSC::Wasm::Callee::llintFunctionCodeBlock const): Deleted.

  • wasm/WasmFunctionCodeBlockGenerator.cpp: Renamed from Source/JavaScriptCore/wasm/WasmFunctionCodeBlock.cpp.

(JSC::Wasm::FunctionCodeBlockGenerator::setInstructions):
(JSC::Wasm::FunctionCodeBlockGenerator::addOutOfLineJumpTarget):
(JSC::Wasm::FunctionCodeBlockGenerator::outOfLineJumpOffset):
(JSC::Wasm::FunctionCodeBlockGenerator::addSignature):
(JSC::Wasm::FunctionCodeBlockGenerator::addJumpTable):
(JSC::Wasm::FunctionCodeBlockGenerator::numberOfJumpTables const):

  • wasm/WasmFunctionCodeBlockGenerator.h: Renamed from Source/JavaScriptCore/wasm/WasmFunctionCodeBlock.h.

(JSC::Wasm::FunctionCodeBlockGenerator::FunctionCodeBlockGenerator):
(JSC::Wasm::FunctionCodeBlockGenerator::tierUpCounter):

  • wasm/WasmGeneratorTraits.h:
  • wasm/WasmLLIntGenerator.cpp:

(JSC::Wasm::parseAndCompileBytecode):
(JSC::Wasm::LLIntGenerator::LLIntGenerator):
(JSC::Wasm::LLIntGenerator::finalize):
(JSC::Wasm::LLIntGenerator::addLoop):
(JSC::Wasm::LLIntGenerator::addSwitch):

  • wasm/WasmLLIntGenerator.h:
  • wasm/WasmLLIntPlan.cpp:

(JSC::Wasm::LLIntPlan::compileFunction):
(JSC::Wasm::LLIntPlan::didCompleteCompilation):

  • wasm/WasmLLIntPlan.h:
  • wasm/WasmLLIntTierUpCounter.h:

(JSC::Wasm::LLIntTierUpCounter::LLIntTierUpCounter):

  • wasm/WasmSlowPaths.cpp:

(JSC::LLInt::shouldJIT):
(JSC::LLInt::jitCompileAndSetHeuristics):
(JSC::LLInt::WASM_SLOW_PATH_DECL):
(JSC::LLInt::doWasmCallIndirect):
(JSC::LLInt::doWasmCallRef):

Note: See TracTimeline for information about the timeline view.