v8/test
Leszek Swirski 695d9b64ff [snapshot] Reland recent de/serializer related changes
This reverts commit 1aa9ab7384.

The reverted CL chain had an issue where ThinStrings could accidentally
end up in compilation artifacts, causing issues down the line with ICs
that expected direct internalized strings.

The reason for this bug was that forward references to internalized
strings were resolved before PostProcessNewObject. When this happened,
the internalized string A would be written to the field where it was
previously deferred, then PostProcessNewObject would change string A to
string A', and update string A to a ThinString.  This means any _future_
back references to A would see the ThinString and follow it to receive
A', but any _past_ forward references would keep pointing to the
ThinString A.

This reland fixes this by preventing InternalizedString deferral, so
that all references to InternalizedStrings are back references. It also
adds some additional verification to the heap verifier that constant
pools and object boilerplate descriptors aren't allowed to hold thin
strings.

This patch also fixes an additional bug in the original CL, where weak
forward refs weren't being serialized with a weak prefix.

Original change's description:
> Revert recent de/serializer related changes
>
> They are suspected to be causing Canary crashes, confirmed through
> local reverts and repro attempts.
>
> This reverts:
> - "Reland "[serializer] Change deferring to use forward refs""
>   commit 76d684cc82.
> - "Reland "[serializer] Remove new space""
>   commit 81231c23a9.
> - "[serializer] Clean-up and de-macro ReadDataCase"
>   commit c06d24b915.
> - "[serializer] DCHECK deserializer allocations are initialized"
>   commit fbc1f32d8e.
>
> Bug: chromium:1128872
> Change-Id: Id2bb3b8fac526fdf9ffb033222ae08cd423f8238
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414220
> Reviewed-by: Igor Sheludko <ishell@chromium.org>
> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
> Reviewed-by: Adam Klein <adamk@chromium.org>
> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69955}

Tbr: jgruber@chromium.org,dinfuehr@chromium.org
Bug: chromium:1075999
Bug: chromium:1127610
Bug: chromium:1128848
Bug: chromium:1128872
Bug: chromium:1128957
Change-Id: I8b7bbabf77eb8cb942a28316afbfaa5f9a0aa4cb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2418101
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69988}
2020-09-18 10:14:59 +00:00
..
benchmarks [test] Skip some slow benchmarks 2020-09-14 08:43:44 +00:00
cctest [snapshot] Reland recent de/serializer related changes 2020-09-18 10:14:59 +00:00
common [wasm] Fix interpreter Ref in unreachable code 2020-09-16 09:34:29 +00:00
debugger [nci] Change testing mode to --turbo-nci-as-midtier 2020-08-20 12:54:40 +00:00
debugging [Py3] Fix flake8 warnings 2020-07-10 16:57:15 +00:00
fuzzer [wasm-simd] Add floating-point rounding instructions to fuzzer 2020-09-15 18:07:02 +00:00
fuzzilli Updated libreprl from Fuzzilli and improved Fuzzilli test 2020-09-14 14:52:06 +00:00
inspector Revert "Reland^4 "[flags] warn about contradictory flags"" 2020-09-16 20:45:31 +00:00
intl Fix locale of Intl.Collator..resolvedOptions 2020-09-16 15:53:09 +00:00
js-perf-test [super property speed] Invert benchmark graphs 2020-08-31 09:24:46 +00:00
memory [owners] Remove redundant OWNERS files in test/ 2019-06-24 12:44:32 +00:00
message [d8] Avoid recursive unhandled rejected Promise processing 2020-09-18 09:47:08 +00:00
mjsunit [test][d8] Add d8.log.getAndStop helper 2020-09-18 09:49:39 +00:00
mkgrokdump [heap] Move BaseSpace into base-space.h 2020-06-19 09:38:24 +00:00
mozilla [Respect] Prefer inclusive terms 2020-06-22 18:11:23 +00:00
test262 Reland "Roll test262" 2020-09-16 17:57:59 +00:00
torque Reland "[torque] typed context slot access" 2020-08-06 11:32:38 +00:00
unittests [Jobs API]: Expose JobDelegate::IsJoiningThread. 2020-09-17 16:49:07 +00:00
wasm-api-tests [ukm][wasm] Add event WasmModuleDecoded 2020-08-17 12:44:33 +00:00
wasm-js Reland "[wasm-simd] Stage SIMD" 2020-09-10 16:04:35 +00:00
wasm-spec-tests Reland "[wasm-simd] Stage SIMD" 2020-09-10 16:04:35 +00:00
webkit Disallow \8 and \9 in strict mode and template literals 2020-08-03 18:05:14 +00:00
BUILD.gn Add google_benchmark depdendency 2020-07-02 20:11:29 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00