Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream'
Browse files Browse the repository at this point in the history
  • Loading branch information
Jarred-Sumner committed Aug 16, 2024
2 parents 84de1eb + 814daea commit e994296
Show file tree
Hide file tree
Showing 8,731 changed files with 189,378 additions and 56,224 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
19 changes: 0 additions & 19 deletions .clangd

This file was deleted.

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
.DS_Store
.directory
/WebKitBuild/
/.clangd
/update-compile-commands-symlink.conf
/test262-results/
autoinstall.cache.d
project.xcworkspace
Expand Down
2 changes: 1 addition & 1 deletion Configurations/Version.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

MAJOR_VERSION = 620;
MINOR_VERSION = 1;
TINY_VERSION = 2;
TINY_VERSION = 4;
MICRO_VERSION = 0;
NANO_VERSION = 0;
FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
Expand Down
7 changes: 6 additions & 1 deletion Introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,10 @@ When debugging a debug build in LLDB, there are also a few functions that can be
* showTreeForThis()
* showNodePathForThis()

Debugging child processes such as GPU process, "Child Process Debuggability" internal feature must be in use. For the test runner, you can
specify `run-webkit-tests --internal-feature=ChildProcessDebuggabilityEnabled`. For MiniBrowser, set the Debug > Internal > Child Process Debuggability
menu item and restart.

## Correctness Testing in WebKit

WebKit is really big on test driven development, we have many types of tests.
Expand Down Expand Up @@ -1759,7 +1763,8 @@ You may want to specify OS_ACTIVITY_MODE environmental variable to “disable”
in order to suppress all the system logging that happens during the debugging session.

You may also want to specify `--no-timeout` option to prevent WebKitTestRunner or DumpRenderTree
to stop the test after 30 seconds if you’re stepping through code.
to stop the test after 30 seconds if you’re stepping through code. Specify additional
`--internal-feature=ChildProcessDebuggabilityEnabled` when stepping through child process such as GPU process.

Once this is done, you can run WebKitTestRunner or DumpRenderTree by going to Product > Perform Action > Run without Building.

Expand Down
1 change: 0 additions & 1 deletion JSTests/microbenchmarks/emscripten-cube2hash-resizable.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py
//@ requireOptions("--useResizableArrayBuffer=1")
// Note: For maximum-speed code, see "Optimizing Code" on the Emscripten wiki, https://github.com/kripken/emscripten/wiki/Optimizing-Code
// Note: Some Emscripten settings may limit the speed of the generated code.
// The Module object: Our interface to the outside world. We import
Expand Down
18 changes: 18 additions & 0 deletions JSTests/microbenchmarks/typed-array-put-by-val-oob-detach.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
function test1(array, value) {
array[value] = 42;
}
noInline(test1);

function test2(array, value) {
"use strict";
array[value] = 42;
}
noInline(test2);

var array = new Int32Array([1, 2, 3, 4, 5]);
array.buffer.transfer();

for (var i = 0; i < 1e5; ++i) {
test1(array, i & 0b111);
test2(array, i & 0b111);
}
17 changes: 17 additions & 0 deletions JSTests/microbenchmarks/typed-array-put-by-val-oob.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
function test1(array, value) {
array[value] = 42;
}
noInline(test1);

function test2(array, value) {
"use strict";
array[value] = 42;
}
noInline(test2);

var array = new Int32Array([1, 2, 3, 4, 5]);

for (var i = 0; i < 1e5; ++i) {
test1(array, i & 0b111);
test2(array, i & 0b111);
}
2 changes: 1 addition & 1 deletion JSTests/microbenchmarks/wasm-cc-int-to-int.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//@ skip unless $isWasmPlatform
//@ runDefaultWasm("--useWasm=1", "--useInterpretedJSEntryWrappers=1")
//@ runDefaultWasm("--useWasm=1", "--useWasmJITLessJSEntrypoint=1")

var wasm_code;
try {
Expand Down
1 change: 0 additions & 1 deletion JSTests/modules/import-attributes-empty.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
//@ requireOptions("--useImportAttributes=1")
import x from './resources/x.js' with {};
import './resources/y.js' with {};
export * from './resources/z.js' with {};
2 changes: 0 additions & 2 deletions JSTests/modules/import-attributes-trailing.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useImportAttributes=1")

import { shouldBe } from "./resources/assert.js";
import x from './resources/x.json' with { type: "json", };
shouldBe(JSON.stringify(x), `["x"]`);
1 change: 0 additions & 1 deletion JSTests/modules/import-attributes-unsupported.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
//@ requireOptions("--useImportAttributes=1")
import { shouldBe } from "./resources/assert.js";

{
Expand Down
1 change: 0 additions & 1 deletion JSTests/stress/array-buffer-resize.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
//@ requireOptions("--useResizableArrayBuffer=1")
function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error('bad value: ' + actual);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/array-from-async-basic.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useArrayFromAsync=1")

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error('bad value: ' + actual);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/array-from-async-map-promise.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useArrayFromAsync=1")

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error('bad value: ' + actual);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/array-from-async-map-this.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useArrayFromAsync=1")

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error('bad value: ' + actual);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/array-from-async-map.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useArrayFromAsync=1")

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error('bad value: ' + actual);
Expand Down
1 change: 0 additions & 1 deletion JSTests/stress/growable-typed-array.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
//@ requireOptions("--useResizableArrayBuffer=1")

function shouldBe(actual, expected) {
if (actual !== expected)
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/intl-durationformat-basic.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useIntlDurationFormat=1")

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error(`expected ${expected} but got ${actual}`);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/intl-durationformat-digital.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useIntlDurationFormat=1")

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error('bad value: ' + actual);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/intl-durationformat-format-to-parts.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useIntlDurationFormat=1")

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error(`expected ${expected} but got ${actual}`);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useIntlDurationFormat=1")

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error(`expected ${expected} but got ${actual}`);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/intl-durationformat-numeric-auto-and-zero.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useIntlDurationFormat=1")

function assertSameValue(actual, expected) {
if (actual !== expected)
throw new Error(`Expected "${expected}" but got "${actual}"`)
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/intl-durationformat.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useIntlDurationFormat=1")

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error(`expected ${expected} but got ${actual}`);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/map-groupBy.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useArrayGroupMethod=1")

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error(`FAIL: expected '${expected}' actual '${actual}'`);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/modules-syntax-import-assertion-error.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@requireOptions("--useImportAttributes=true")

function shouldThrow(func, errorMessage) {
var errorThrown = false;
var error = null;
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/modules-syntax-import-assertion.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@requireOptions("--useImportAttributes=true")

var list = [
String.raw`import v from "mod"`,
String.raw`import * as ns from "mod"`,
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/object-groupBy.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useArrayGroupMethod=1")

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error(`FAIL: expected '${expected}' actual '${actual}'`);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/promise-withResolvers.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--usePromiseWithResolversMethod=1")

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error(`FAIL: expected '${expected}' actual '${actual}'`);
Expand Down
1 change: 0 additions & 1 deletion JSTests/stress/resizable-bytelength.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
//@ requireOptions("--useResizableArrayBuffer=1")

function shouldBe(actual, expected) {
if (actual !== expected)
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/resizable-byteoffset.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useResizableArrayBuffer=1")

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error('bad value: ' + actual);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/resizable-length.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ requireOptions("--useResizableArrayBuffer=1")

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error('bad value: ' + actual);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/set-prototype-difference.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ runDefault("--useSetMethods=1")

function assert(a, e, m) {
if (a !== e)
throw new Error(m);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/set-prototype-intersection.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ runDefault("--useSetMethods=1")

function assert(a, e, m) {
if (a !== e)
throw new Error(m);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/set-prototype-isDisjointfrom.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ runDefault("--useSetMethods=1")

function assert(a, e, m) {
if (a !== e)
throw new Error(m);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/set-prototype-isSubsetOf.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ runDefault("--useSetMethods=1")

function assert(a, e, m) {
if (a !== e)
throw new Error(m);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/set-prototype-isSupersetOf.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ runDefault("--useSetMethods=1")

function assert(a, e, m) {
if (a !== e)
throw new Error(m);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/set-prototype-symmetricDifference.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ runDefault("--useSetMethods=1")

function assert(a, e, m) {
if (a !== e)
throw new Error(m);
Expand Down
2 changes: 0 additions & 2 deletions JSTests/stress/set-prototype-union.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//@ runDefault("--useSetMethods=1")

function assert(a, e, m) {
if (a !== e)
throw new Error(m);
Expand Down
1 change: 0 additions & 1 deletion JSTests/stress/string-well-formed.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
//@ requireOptions("--useStringWellFormed=1")
function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error('bad value: ' + actual);
Expand Down
6 changes: 3 additions & 3 deletions JSTests/stress/temporal-duration.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,10 @@ shouldThrow(() => Temporal.Duration.from({}), TypeError);
'P1W1Y', 'PT1S1M',
'P1.1Y', 'PT1.1H1M', 'PT1.1M1S',
'PT1.1111111111H', 'PT1.1111111111M', 'PT1.1111111111S',
`P${Array(309).fill(9).join('')}Y`
`P${Array(309).fill(9).join('')}Y`,
'\u2212p1y2m3w4dt5h6m7,008009010s'
];
for (const badString in badStrings)
for (const badString of badStrings)
shouldThrow(() => Temporal.Duration.from(badString), RangeError);

const fromString = Temporal.Duration.from('P1Y2M3W4DT5H6M7.008009010S');
Expand All @@ -94,7 +95,6 @@ shouldThrow(() => Temporal.Duration.from({}), TypeError);
}
}
shouldNotThrow(() => Temporal.Duration.from(`P${Array(308).fill(9).join('')}Y`));
shouldBe(Temporal.Duration.from('−p1y2m3w4dt5h6m7,008009010s').toString(), '-P1Y2M3W4DT5H6M7.00800901S');
shouldBe(Temporal.Duration.from('+P1Y2DT3H4.0S').toString(), 'P1Y2DT3H4S');
shouldBe(Temporal.Duration.from('PT1.03125H').toString(), 'PT1H1M52.5S');
shouldBe(Temporal.Duration.from('PT1.03125M').toString(), 'PT1M1.875S');
Expand Down
14 changes: 14 additions & 0 deletions JSTests/stress/temporal-instant-tz-critical-flags.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//@ requireOptions("--useTemporal=1")

const cases = [
["1970-01-01T00:00:00Z[!UTC]", "1970-01-01T00:00:00Z[!UTC]"],
["1970-01-01T00:00:00Z[!UTC]", "1970-01-01T00:00:00Z"],
["1970-01-01T00:00:00+02:00[!UTC]", "1970-01-01T00:00:00+02:00"],
["1970-01-01T00:00:00+09:00[!UTC]", "1970-01-01T00:00:00+09:00[Asia/Tokyo]"]
];

for (const [str1, str2] of cases) {
const instant = Temporal.Instant.from(str1);
if (!instant.equals(str2))
throw new Error(`"${str1}" and "${str2}" should result in the same Temporal.Instant.`)
}
9 changes: 6 additions & 3 deletions JSTests/stress/temporal-instant.js
Original file line number Diff line number Diff line change
Expand Up @@ -296,9 +296,6 @@ shouldBe(`${Temporal.Instant.from('1976-11-18T15:23:30.12345678Z')}`, '1976-11-1
shouldBe(`${Temporal.Instant.from('1976-11-18T15:23:30.123456789Z')}`, '1976-11-18T15:23:30.123456789Z');
// variant decimal separator
shouldBe(`${Temporal.Instant.from('1976-11-18T15:23:30,12Z')}`, '1976-11-18T15:23:30.12Z');
// variant minus sign
shouldBe(`${Temporal.Instant.from('1976-11-18T15:23:30.12\u221202:00')}`, '1976-11-18T17:23:30.12Z');
shouldBe(`${Temporal.Instant.from('\u2212009999-11-18T15:23:30.12Z')}`, '-009999-11-18T15:23:30.12Z');
// mixture of basic and extended format
shouldBe(`${Temporal.Instant.from('19761118T15:23:30.1+00:00')}`, '1976-11-18T15:23:30.1Z');
shouldBe(`${Temporal.Instant.from('1976-11-18T152330.1+00:00')}`, '1976-11-18T15:23:30.1Z');
Expand All @@ -320,6 +317,12 @@ shouldBe(`${Temporal.Instant.from('1976-11-18T15Z')}`, '1976-11-18T15:00:00Z');
shouldBe(`${Temporal.Instant.from('1976-11-18T15:23:30.123456789Z[u-ca=discord]')}`, '1976-11-18T15:23:30.123456789Z');
// no junk at end of string
shouldThrow(() => Temporal.Instant.from('1976-11-18T15:23:30.123456789Zjunk'), RangeError);
// non-ASCII minusSign is invalid
shouldThrow(() => Temporal.Instant.from('1976-11-18T15:23:30.12\u221202:00'), RangeError);
shouldThrow(() => Temporal.Instant.from('\u2212009999-11-18T15:23:30.12Z'), RangeError);
// TimeZone without Time
shouldThrow(() => Temporal.Instant.from('2022-09-15Z'), RangeError);
shouldThrow(() => Temporal.Instant.from('2022-09-15+01:00'), RangeError);

// For convenience in several tests
const epoch = new Temporal.Instant(0n);
Expand Down
14 changes: 14 additions & 0 deletions JSTests/stress/temporal-plaindate-tz-critical-flags.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//@ requireOptions("--useTemporal=1")

const cases = [
["2000-05-02T00+00:00[!UTC]", "2000-05-02T00+00:00[!UTC]"],
["2000-05-02T00+00:00[!UTC]", "2000-05-02T00+00:00"],
["2000-05-02T00+02:00[!UTC]", "2000-05-02T00+02:00"],
["2000-05-02T00+09:00[!UTC]", "2000-05-02T00+09:00[Asia/Tokyo]"],
];

for (const [str1, str2] of cases) {
const plainDate = Temporal.PlainDate.from(str1);
if (!plainDate.equals(str2))
throw new Error(`"${str1}" and "${str2}" should result in the same Temporal.PlainDate.`)
}
6 changes: 4 additions & 2 deletions JSTests/stress/temporal-plaindate.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ shouldBe(String(Temporal.PlainDate.from('2007-01-09t03:24:30')), `2007-01-09`);
shouldBe(String(Temporal.PlainDate.from('2007-01-09 03:24:30')), `2007-01-09`);
shouldBe(String(Temporal.PlainDate.from('2007-01-09T03:24:30+20:20:59')), `2007-01-09`);
shouldBe(String(Temporal.PlainDate.from('2007-01-09T03:24:30-20:20:59')), `2007-01-09`);
shouldBe(String(Temporal.PlainDate.from('2007-01-09T03:24:30\u221220:20:59')), `2007-01-09`);
shouldBe(String(Temporal.PlainDate.from('2007-01-09T03:24:30+10')), `2007-01-09`);
shouldBe(String(Temporal.PlainDate.from('2007-01-09T03:24:30+1020')), `2007-01-09`);
shouldBe(String(Temporal.PlainDate.from('2007-01-09T03:24:30+102030')), `2007-01-09`);
Expand All @@ -75,7 +74,6 @@ shouldBe(String(Temporal.PlainDate.from('2007-01-09 03:24:30+01:00[+01:00:00.123
shouldBe(String(Temporal.PlainDate.from('2007-01-09 03:24:30+01:00[+01:00:00.12345678]')), `2007-01-09`);
shouldBe(String(Temporal.PlainDate.from('2007-01-09 03:24:30+01:00[+01:00:00.123456789]')), `2007-01-09`);
shouldBe(String(Temporal.PlainDate.from('2007-01-09 03:24:30+01:00[-01:00]')), `2007-01-09`);
shouldBe(String(Temporal.PlainDate.from('2007-01-09 03:24:30+01:00[\u221201:00]')), `2007-01-09`);
shouldBe(String(Temporal.PlainDate.from('2007-01-09 03:24:30+01:00[u-ca=japanese]')), `2007-01-09`);
shouldBe(String(Temporal.PlainDate.from('2007-01-09 03:24:30+01:00[Europe/Brussels][u-ca=japanese]')), `2007-01-09`);
shouldBe(String(Temporal.PlainDate.from('2007-01-09[u-ca=japanese]')), `2007-01-09`);
Expand Down Expand Up @@ -168,6 +166,10 @@ let failures = [
"2007-01-09T03:24:30Z", // UTCDesignator
"2007-01-09 03:24:30[u-ca=japanese][Europe/Brussels]",
"2007-01-09 03:24:30+01:00[u-ca=japanese][Europe/Brussels]",
"2007-01-09T03:24:30\u221220:20:59",
"2007-01-09 03:24:30+01:00[\u221201:00]",
"2007-01-09Z",
"2007-01-09+01:00",
];

for (let text of failures) {
Expand Down
Loading

0 comments on commit e994296

Please sign in to comment.