Commit Graph

76220 Commits

Author SHA1 Message Date
Junliang Yan
cdafe89ea2 ppc64: [baseline] enable sparkplug on ppc64
Change-Id: Id10cfdb8f3a380eb1cd39be569e152b3ebe41b44
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735166
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/main@{#81528}
2022-07-05 13:48:05 +00:00
Jakob Kummerow
9a30c98120 [wasm] Fix max index in function names section
Fixed: chromium:1341180
Change-Id: Ib475310b18c31e5e3e0fc5e52dab736ebb6ac55a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3738745
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81527}
2022-07-05 12:32:01 +00:00
Manos Koukoutos
69c77a4ea0 Revert "Remove some unused includes"
This reverts commit 2d74bfa4a0.

Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac%20-%20arm64%20-%20debug%20builder/7403/overview

Original change's description:
> Remove some unused includes
>
> Mostly src/api, src/asmjs. src/ast, src/base, src/wasm.
>
> Bug: v8:13006
> Change-Id: If4e85afe003fda9f8a681077827c3502e939fe57
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3742702
> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#81523}

Bug: v8:13006
Change-Id: I7579dc3805ed4cbcd56488c31450c7941b430b1a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3746076
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81526}
2022-07-05 11:57:40 +00:00
Hao Xu
8d9615edf6 [CSA] Avoid sign-extending LoadIC's Smi handler when possible
Smi handler in LoadIC is decoded to IntPtrT and result in
sign-extending Smi's value when pointer compression is enabled. This
CL avoid this sign-extension by decoding the Smi to Int32T.

Change-Id: I3ddd6dcec8654d6c13d472a077a55698359d126a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3740481
Commit-Queue: Hao A Xu <hao.a.xu@intel.com>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81525}
2022-07-05 11:53:14 +00:00
Omer Katz
5febb0622f [heap] Pass AllocationCounter to Space
Extract AllocationCounter (which manages the allocation observers) out
of Space and pass it on initialization.
AllocationCounter will instead be a field of the subclasses (e.g.
PagedSpace, NewSpace).
This will allow to reuse the same AllocationCounter for the NewSpace and
PagedSpaceBase parts of PagedNewSpace (crrev.com/c/3641178).

Bug: v8:12612
Change-Id: Ie6ed10d1b138a5724cf9b469ab9c943518850ad4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3745403
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81524}
2022-07-05 11:52:11 +00:00
Manos Koukoutos
2d74bfa4a0 Remove some unused includes
Mostly src/api, src/asmjs. src/ast, src/base, src/wasm.

Bug: v8:13006
Change-Id: If4e85afe003fda9f8a681077827c3502e939fe57
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3742702
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81523}
2022-07-05 11:39:01 +00:00
Jakob Kummerow
25c3b1b05b [tools][wasm] wami: add --section-stats mode
Prints information about sections in a given module and their sizes.

Change-Id: I3bf02f0c8be53756364db4d2dada60bc8a510815
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3743447
Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81522}
2022-07-05 10:55:11 +00:00
Manos Koukoutos
efbadd6096 Do not set protected memory for all atomics
Bug: v8:12946
Change-Id: If62b67a47f63832e6edca749ce1a45cf3a85316d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3743384
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81521}
2022-07-05 10:44:47 +00:00
Al Muthanna Athamina
eb74342600 Add bots for RISC-V32
Bug: v8:13033
Change-Id: Ic2c13359a1e22846750d67342b2a682f6351b7da
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3743484
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81520}
2022-07-05 09:48:32 +00:00
Maya Lekova
ec9fa4365d [megadom] Turn an expensive check only in DEBUG
This CL fixes a performance regression by conditionally compiling an
expensive instance check only in debug mode.

Bug: chromium:1329463
Change-Id: I2cceb7c06fa6db967923047a4dee63a93a0b72a2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3743385
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Auto-Submit: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81519}
2022-07-05 08:36:19 +00:00
Manos Koukoutos
5e2174fbbc [wasm-gc] Allow array.new(_default) as constant expressions
Additional change: Allow regular expressions in assertTraps.

Bug: v8:7748
Change-Id: I3bf99faec3d4f25fcf3caa4ed310f02f03196d4d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3743483
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81518}
2022-07-05 06:20:51 +00:00
v8-ci-autoroll-builder
2cd4710142 Update V8 DEPS (trusted-origins)
Rolling v8/build: 9782ba0..9ea9d49

R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com

Change-Id: I2b02543e83818d2155d9d9ccf2e234e0511f917c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3743513
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#81517}
2022-07-05 04:47:32 +00:00
Anton Bikineev
603ab6593b Revert "Reland "cppgc: Enable pointer compression by default on Desktop""
This reverts commit 111d20bb7c.

Reason for revert:
- crashes
- flaky test failures
- ubsan errors
- Speedometer regression

Original change's description:
> Reland "cppgc: Enable pointer compression by default on Desktop"
>
> Reland since ubsan failures were fixed.
>
> Original change's description:
> > Revert "cppgc: Enable pointer compression by default on Desktop"
> >
> > This reverts commit 4cf08c1ac6.
> >
> > Reason for revert: broke ubsan.
> >
> > Original change's description:
> > > cppgc: Enable pointer compression by default on Desktop
> > >
> > > The CL enables pointer compression in Oilpan.
> > >
> > > For sherrifs: the CL may cause some slight perf regressions (likely
> > > blink_perf.*), due to slightly higher cost of compression and
> > > decomrpession.
> > >
> > > Speedometer2 is not expected to regress, as was checked locally. Such a
> > > slight performance degradation is compensated by memory savings that are
> > > expected to be around 10-20% of Oilpan committed size (~2.5-5% of Renderer
> > > PMF).
> > >
> > > Bug: chromium:1325007
> > > Change-Id: I2e31fc56250dbe6354a7614fa1f9e926260d842b
> > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695565
> > > Commit-Queue: Anton Bikineev <bikineev@chromium.org>
> > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> > > Cr-Commit-Position: refs/heads/main@{#81442}
> >
> > Bug: chromium:1325007
> > Change-Id: Iabc31ed683841ba0189dee9028da330dc03d7e09
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735168
> > Auto-Submit: Anton Bikineev <bikineev@chromium.org>
> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> > Commit-Queue: Anton Bikineev <bikineev@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#81443}
>
> Bug: chromium:1325007
> Change-Id: Ifc8ea0e73e99d9be622e27d3d4c79d0e35fd459c
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735128
> Commit-Queue: Anton Bikineev <bikineev@chromium.org>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/main@{#81486}

Bug: chromium:1325007
Change-Id: I35d9085b9c39fd212002f098a3a015d0db7504a0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3743468
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81516}
2022-07-05 04:46:30 +00:00
Jakob Kummerow
7f0c7fb074 [tools][wasm] Add "wami", the Wasm Module Inspector
Initial feature: list functions in a module, as follows:

$ gm x64.release wami
$ out/x64.release/wami --list-functions my_module.wasm

More to come.

Change-Id: I9580437d51153e1b5ccc291fdb6a6a67315be07d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3742700
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81515}
2022-07-05 04:45:28 +00:00
v8-ci-autoroll-builder
1c8d8d6c6c Update V8 DEPS (trusted-versions)
Rolling v8/buildtools/linux64: git_revision:ecaaf4b9e58a312a1610a37999eeccf58f73e264..git_revision:03ce92df5f9875bd9929b564be4b612713569aa9

R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com

Change-Id: I4ddef50901edce840d56cc132835f52693725385
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3743512
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#81514}
2022-07-05 04:44:26 +00:00
Manos Koukoutos
d9b62c1686 Revert "[fastcall] Support EnforceRange annotation"
This reverts commit 84e078c6cf.

Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20UBSan/22000/overview

Original change's description:
> [fastcall] Support EnforceRange annotation
>
> This CL implements checks in case EnforceRange is requested for a
> given parameter by using TryTruncate* operators. It implements 2 such
> truncations on x64 and arm64 - TryTruncateFloat64ToInt32 and
> TryTruncateFloat64ToUint32.
>
> Bug: chromium:1052746
> Change-Id: I32f34d9dc1265af568cc576663620a8f7f8245f6
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3721618
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> Commit-Queue: Maya Lekova <mslekova@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#81512}

Bug: chromium:1052746
Change-Id: I2218681c7cb5d05dea6d8ac5347b19bc0070c1a6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3743514
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Owners-Override: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81513}
2022-07-05 04:43:23 +00:00
Maya Lekova
84e078c6cf [fastcall] Support EnforceRange annotation
This CL implements checks in case EnforceRange is requested for a
given parameter by using TryTruncate* operators. It implements 2 such
truncations on x64 and arm64 - TryTruncateFloat64ToInt32 and
TryTruncateFloat64ToUint32.

Bug: chromium:1052746
Change-Id: I32f34d9dc1265af568cc576663620a8f7f8245f6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3721618
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81512}
2022-07-04 14:34:10 +00:00
Milad Fa
93f5f1a7d8 S390 [simd][liftoff] Implement relaxed swizzle
Instruction selector is also modified to include a `relaxed`
boolean value to be used for future optimizations.

Change-Id: I1e314066655613846653cc0c3668167c4ef32648
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735106
Reviewed-by: Junliang Yan <junyan@redhat.com>
Reviewed-by: Milad Farazmand <mfarazma@redhat.com>
Commit-Queue: Milad Farazmand <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/main@{#81511}
2022-07-04 14:31:49 +00:00
Liu Yu
979bd521e8 [loong64][mips64][wasm-gc][refactor] Rename optRef -> refNull
Port commit a0a786656f

Bug: v8:7748
Change-Id: I23e559917a76a01a7afb78403648372149a13c54
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3743122
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Auto-Submit: Liu Yu <liuyu@loongson.cn>
Cr-Commit-Position: refs/heads/main@{#81510}
2022-07-04 10:31:49 +00:00
Benedikt Meurer
7f20cf56e6 [debug] Report optimized out and certain TDZ values as unavailable.
This adds a new --experimental-value-unavailable flag, which is disabled
for now. When enabled the debugger reports values that are optimized out
by TurboFan and values of certain variables in Temporal Dead Zones (TDZ)
as unavailable. Internally we use a special `value_unavailable` accessor
info to represent these values, and on the debugger boundary we report
these properties with `value`, `get`, or `set`.

Doc: https://goo.gle/devtools-value-unavailable
Bug: chromium:1328681
Demo: devtools-dbg-stories.netlify.app/crbug-1328681-value-unavailable
Change-Id: Idb09a4a148335a950deae60f7c07caecc48826ba
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3627510
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81509}
2022-07-04 09:25:44 +00:00
Frank Tang
a72b10aaab [Temporal] Mark passed test to fix build.
Bug: v8:11544
No-Tree-Checks: true
Change-Id: I12b093da9f9f4f63bc67b1efaeefb735b8a6c5e4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3741001
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Auto-Submit: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81508}
2022-07-04 07:04:59 +00:00
Frank Tang
7a4a6cc6a8 [Temporal] Add toJSON, toString and non-intl version of toLocaleString to ZonedDateTime
Also add AOs: FormatISOTimeZoneOffsetString, TemporalZonedDateTimeToString, ToShowTimeZoneNameOption, ToShowOffsetOption,

Update FormatTimeZoneOffsetString to use ToZeroPaddedDecimalString

Spec Text:
https://tc39.es/proposal-temporal/#sec-temporal.zoneddatetime.prototype.tojson
https://tc39.es/proposal-temporal/#sec-temporal.zoneddatetime.prototype.tolocalestring
https://tc39.es/proposal-temporal/#sec-temporal.zoneddatetime.prototype.tostring
https://tc39.es/proposal-temporal/#sec-temporal-formatisotimezoneoffsetstring
https://tc39.es/proposal-temporal/#sec-temporal-temporalzoneddatetimetostring
https://tc39.es/proposal-temporal/#sec-temporal-toshowtimezonenameoption
https://tc39.es/proposal-temporal/#sec-temporal-toshowoffsetoption

The intl version of toLocaleString is not implemented in this CL yet


Bug: v8:11544
Change-Id: Id7e4f72b63864857b0b3fa8dc8dfcba0b5949faa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3688848
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81507}
2022-07-02 06:46:27 +00:00
Frank Tang
adb111b776 [Temporal] Fix PlainTime/PlainDateTime toString bugs
Bug: v8:11544
Change-Id: Iaf3d673c9746badadae082121402e723d3704189
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3719087
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81506}
2022-07-02 06:40:07 +00:00
v8-ci-autoroll-builder
7de527df29 Update V8 DEPS (trusted-origins)
Rolling v8/build: 13924a1..9782ba0

R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com

Change-Id: I1de68cb1af793810c753c80da76aad8b9712f12e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3741373
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#81505}
2022-07-02 04:47:41 +00:00
v8-ci-autoroll-builder
615ae7dc55 Update V8 DEPS (trusted-versions)
Rolling v8/buildtools/clang_format/script: e435ad7..8b525d2

Rolling v8/buildtools/linux64: git_revision:29accf5ac2eadfc53e687081583b7bc1592a8839..git_revision:ecaaf4b9e58a312a1610a37999eeccf58f73e264

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/bd235b0..6f2de7b

Rolling v8/third_party/depot_tools: 9dec1b4..78c53d1

Rolling v8/third_party/fuchsia-sdk/sdk: version:8.20220630.1.1..version:8.20220701.2.1

R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com

Change-Id: Ie6e5e60de44904ba9582db966b285fb4c25ee2c7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3741372
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#81504}
2022-07-02 03:42:51 +00:00
Frank Tang
6b02aed32b [Temporal] Sync to PR2248 to use GetTemporalUnit
https://github.com/tc39/proposal-temporal/pull/2248

Bug: v8:11544
Change-Id: I02612030f626adf2b163dca96c7602efe6adef4a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3712044
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81503}
2022-07-02 03:08:31 +00:00
Frank Tang
e61e019481 [Temporal] Add since/until to Instant
Also add AOs: GetTemporalUnit, NegateTemporalRoundingMode,
MaximumTemporalDurationRoundingIncrement, GetDifferenceSettings,
DifferenceInstant, DifferenceTemporalInstant

Spec Text:
https://tc39.es/proposal-temporal/#sec-temporal.instant.prototype.since
https://tc39.es/proposal-temporal/#sec-temporal.instant.prototype.until
https://tc39.es/proposal-temporal/#sec-temporal-gettemporalunit
https://tc39.es/proposal-temporal/#sec-temporal-negatetemporalroundingmode
https://tc39.es/proposal-temporal/#sec-temporal-maximumtemporaldurationroundingincrement
https://tc39.es/proposal-temporal/#sec-temporal-getdifferencesettings
https://tc39.es/proposal-temporal/#sec-temporal-differenceinstant
https://tc39.es/proposal-temporal/#sec-temporal-differencetemporalinstant

Bug: v8:11544
Change-Id: Iabcc452304366132b03bb82529159c7553c610b3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3722456
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81502}
2022-07-02 02:13:02 +00:00
Frank Tang
a63e2ddfb4 [Temporal] Add toString to Duration
Add AOs: MoveRelativeZonedDateTime,  DaysUntil, MoveRelativeDate,
RoundDuration,

Also fix bugs in CalendarDateAdd, TemporalDurationToString, IsValidDuration

Spec Text:
https://tc39.es/proposal-temporal/#sec-temporal.duration.prototype.tostring
https://tc39.es/proposal-temporal/#sec-temporal-moverelativezoneddatetime
https://tc39.es/proposal-temporal/#sec-temporal-daysuntil
https://tc39.es/proposal-temporal/#sec-temporal-moverelativedate
https://tc39.es/proposal-temporal/#sec-temporal-roundduration

Bug: v8:11544
Change-Id: I351cdb88a930f3f7b48f351549d390e5bd02d91e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3715381
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81501}
2022-07-02 01:47:22 +00:00
Ilya Rezvov
fb8cd26f27 [wasm-atomics] Use traps for rest of atomic operations OOB handling
Bug: v8:12946
Change-Id: I2c17c3258123417d616e7fc8a1521e006b758e08
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3731149
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Ilya Rezvov <irezvov@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81500}
2022-07-01 19:51:50 +00:00
Leszek Swirski
900e1e5ffb [maglev] Split off CheckMapsWithMigration
Make the normal CheckMaps non-calling, and add a new
CheckMapsWithMigration which still does the deferred call. Eventually
we'll want to also not mark this as calling, but keeping the two
separate is cleaner anyway.

Bug: v8:7700
Change-Id: Ideb2fcef147ab45d4a10bbdde9a85a55fbd56947
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3740725
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81499}
2022-07-01 16:50:20 +00:00
Toon Verwaest
078f3fb4d4 [api] Cached properties are read of the receiver
The optimization was initially designed to support only the case where
the receiver is the holder, so make this explicit:

Cached properties were implemented before super property access and
Reflect.get, or at least around the same time, not realising it
conflicted. Cached properties are optimizations for known accessors
globalThis.window and globalThis.document. They store the result of
calling those accessors. The result of calling those accessors depends
on the receiver passed to the call, so we shouldn't simply read the
cached property off of the _holder_ of the accessor, but only do so if
the holder is the same as the receiver.

Bug: chromium:1305302
Change-Id: Iea6f4437e09d5a293798041adcb310469589d00f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3738744
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81498}
2022-07-01 16:27:31 +00:00
ishell@chromium.org
db3e14d3a2 [runtime] Fix serialization of EmbedderDataArray
Currently serialization of external pointers stored in EmbedderDataArray
is not supported but such a functionality was never needed before.

Bug: v8:13007, v8:12949
Change-Id: I56dc33592c1410ac9e234c60ef79db92a4e96a0f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3740724
Auto-Submit: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81497}
2022-07-01 15:53:29 +00:00
Manos Koukoutos
ccc74bc64e [wasm-gc] Remove 'let' opcode
This opcode is being removed in favor of pre-declared non-defaultable
locals (details are still TBD).

Bug: v8:9495
Change-Id: I96ac053a1b5a852310c5dc0bbaeab0cbf5384663
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3738743
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81496}
2022-07-01 14:35:09 +00:00
Toon Verwaest
2650b3f7d6 [api] Don't unnecessary set up a fake api frame
Change-Id: I4fe880b8d0f3c6886b7bf2f0aa497068f4cfd9a5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735134
Auto-Submit: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81495}
2022-07-01 14:09:50 +00:00
Manos Koukoutos
bcd8bf90ff [wasm-gc] Introduce separate constructors for ref and (ref null)
Most often, the {ValueType::Ref} constructor was called with a
constant nullability. To make things more convenient, this CL renames
{Ref} to {RefMaybeNull}, and introduces {Ref} and {RefNull}
constructors with fixed nullability.

Bug: v8:7748
Change-Id: I664ff184ca936cc752e152c3c67546d79aa24390
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3732936
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81494}
2022-07-01 13:43:58 +00:00
Omer Katz
f6bf7cdb0f [heap] Deduplicate MarkingWorklist
MarkingWorklists and MinorMarkCompactCollector each had their own
definition of MarkingWorklist. Both definition are identical.
Drop MinorMarkCompactCollector's definition.

Bug: v8:12612
Change-Id: I890f263e4de702aa34f00626a3aaa3ffb29c1ff2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3740723
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81493}
2022-07-01 13:29:58 +00:00
Michael Lippautz
a40a0850b6 [heap] Fix updating slots in global handles
Upon Scavenge, nodes may generally be reclaimed or updated. This logic
did not consider the fact that objects may be Smis and thus should be
ignored.

Bug: v8:1341111
Change-Id: I62f68e673377a895d3487ec9d372001342e77e8a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3740722
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81492}
2022-07-01 13:25:28 +00:00
Manos Koukoutos
a0a786656f [wasm-gc][refactor] Rename optRef -> refNull
This makes the internal V8 name consistent with the text-format name.

Bug: v8:7748
Change-Id: I44f7ac1eb5e634b4f829e596bf1f14caeb748d54
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3726291
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81491}
2022-07-01 12:33:23 +00:00
Samuel Groß
df723c28e3 Disable wasm/multiple-code-spaces test when TSAN is enabled
TSAN may cause the sandbox to fail to obtain enough virtual address
space during initialization, thereby causing it to fall back to a
smaller backing reservation. This combined with the very inefficient
ArrayBufferAllocator that is used in standalone v8 builds when the
sandbox is enabled may cause some tests to run out-of-memory earlier
than they otherwise would. For now we just disable these tests on TSAN
builds, but should be able to re-enable them once we have a better
ArrayBufferAllocator on standalone v8 builds.

Bug: v8:13009, chromium:1340224
Change-Id: I93e46e05d47a8850788504c10a6498067400128a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3738740
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Samuel Groß <saelo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81490}
2022-07-01 11:50:12 +00:00
Jakob Kummerow
f76486e60a [wasm][refactor] Move ModuleDecoderImpl to -impl.h
Ctrl+X, Ctrl+V. No change in behavior.
This is a preparational step for templatizing the module decoder
for disassembler purposes.

Bug: v8:12917
Change-Id: I08a5d2e666cd16a207e9862b2691446c0473ddb0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3738221
Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81489}
2022-07-01 11:43:09 +00:00
Samuel Groß
8893af7da6 [sandbox] Remove CagedMemoryAllocationOutcome histogram
This is no longer needed as all backing store allocations must now be
located inside the sandbox after sandboxed pointers were enabled by
default when the sandbox is enabled.

Bug: chromium:1218005
Change-Id: Id2d5feba878e1a6a5775ae3fef4012d0e7fe667a
Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3738742
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Samuel Groß <saelo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81488}
2022-07-01 11:41:08 +00:00
Liu Yu
2dc4329ff4 [loong64][mips64][wasm] Fix and harden all conditional tier-up checks
Port commit b9c4a84955

Change-Id: Ibf19d2988cacc67b6293a5ff348b878b27ed79e5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3740491
Auto-Submit: Liu Yu <liuyu@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/main@{#81487}
2022-07-01 11:31:48 +00:00
Anton Bikineev
111d20bb7c Reland "cppgc: Enable pointer compression by default on Desktop"
Reland since ubsan failures were fixed.

Original change's description:
> Revert "cppgc: Enable pointer compression by default on Desktop"
>
> This reverts commit 4cf08c1ac6.
>
> Reason for revert: broke ubsan.
>
> Original change's description:
> > cppgc: Enable pointer compression by default on Desktop
> >
> > The CL enables pointer compression in Oilpan.
> >
> > For sherrifs: the CL may cause some slight perf regressions (likely
> > blink_perf.*), due to slightly higher cost of compression and
> > decomrpession.
> >
> > Speedometer2 is not expected to regress, as was checked locally. Such a
> > slight performance degradation is compensated by memory savings that are
> > expected to be around 10-20% of Oilpan committed size (~2.5-5% of Renderer
> > PMF).
> >
> > Bug: chromium:1325007
> > Change-Id: I2e31fc56250dbe6354a7614fa1f9e926260d842b
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695565
> > Commit-Queue: Anton Bikineev <bikineev@chromium.org>
> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#81442}
>
> Bug: chromium:1325007
> Change-Id: Iabc31ed683841ba0189dee9028da330dc03d7e09
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735168
> Auto-Submit: Anton Bikineev <bikineev@chromium.org>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Anton Bikineev <bikineev@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#81443}

Bug: chromium:1325007
Change-Id: Ifc8ea0e73e99d9be622e27d3d4c79d0e35fd459c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735128
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#81486}
2022-07-01 10:14:34 +00:00
Lu Yahan
34afea56b6 [riscv64] Fix wasm-spec-tests/tests/func
Change-Id: I2e217b5b403db9fb8504a9c81040d8fe893b37d3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3740486
Reviewed-by: ji qiu <qiuji@iscas.ac.cn>
Commit-Queue: Yahan Lu <yahan@iscas.ac.cn>
Commit-Queue: ji qiu <qiuji@iscas.ac.cn>
Cr-Commit-Position: refs/heads/main@{#81485}
2022-07-01 09:09:18 +00:00
Lutz Vahl
e46e603ae1 Adding vahl@ as owner to speed up merge handling
Change-Id: Ia92047d3e23b4180172c9d53c0b0bca12a856a04
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3734812
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Auto-Submit: Lutz Vahl <vahl@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81484}
2022-07-01 08:06:14 +00:00
Marja Hölttä
70bcf02494 [rab/gsab] Tests for Array.p methods, part 5
In this part: push, pop

Bug: v8:11111
Change-Id: I62ddc418acaec778270d69c9839e2236d3c8f1e4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3738259
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81483}
2022-07-01 07:55:24 +00:00
v8-ci-autoroll-builder
3a3e4ad4ae Update google_benchmark
Rolling v8/third_party/google_benchmark/src: b7afda2..7280499

Remove redundant formatting tags (#1420) (Tom Cobley)
https://chromium.googlesource.com/external/github.com/google/benchmark/+/7280499

R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com,mlippautz@chromium.org

Change-Id: Ib19d28c3b9b95da06296802f44af8600fb25933b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3738494
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81482}
2022-07-01 07:41:24 +00:00
Toon Verwaest
0a3dbeca99 [api] Drop target from FunctionCallbackArguments
This was already removed as part of the lazy api accessor work, but
was never cleaned up throughout v8.

Change-Id: I00621d0e0f33c58efaed0f6b55cd22f1f8803825
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735131
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81481}
2022-07-01 06:54:54 +00:00
v8-ci-autoroll-builder
77328cd7b2 Update V8 DEPS (trusted-origins)
Rolling v8/build: 26f8da3..13924a1

R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com

Change-Id: I9693339bd2065370daec9bd36ff960ee47ad36a1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3738491
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#81480}
2022-07-01 04:52:54 +00:00
v8-ci-autoroll-builder
407caa83a7 Update V8 DEPS (trusted-versions)
Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/322e254..bd235b0

Rolling v8/third_party/depot_tools: a83ac93..9dec1b4

Rolling v8/third_party/fuchsia-sdk/sdk: version:8.20220629.1.1..version:8.20220630.1.1

Rolling v8/tools/luci-go: git_revision:5d9b6ecf87cdfb928e1112d2838d26bc7ede2b48..git_revision:be5d9aacf8987c0826223264f0427cd0b530b6a4

Rolling v8/tools/luci-go: git_revision:5d9b6ecf87cdfb928e1112d2838d26bc7ede2b48..git_revision:be5d9aacf8987c0826223264f0427cd0b530b6a4

R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com

Change-Id: Iaeef3765f756fcea36fb10ba87a15a5a19da1025
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3738490
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#81479}
2022-07-01 03:49:24 +00:00