v8/test
Georg Schmid 85f257f4c9 Reland "Make LoadElimination aware of const fields (Part 2; stores)"
This is a reland of e588ff10e5

The only change over the original CL is found in JSCreateLowering::AllocateFastLiteral. We now guard against boilerplate values for unboxed double fields that *look* like legitimate initial values, but should really be kHoleNanInt64 instead.

The underlying problem certainly existed before, but an invariant added to LoadElimination in this CL caused a Chromium layout test to fail. The change in this reland is therefore a workaround, the root cause remains to be fixed. Specifically, we find that a pointer to the undefined value oddball is sometimes reinterpreted as a double and assigned as a boilerplate value. @jarin suspects that this stems from in-place map updates.

Original change's description:
> Make LoadElimination aware of const fields (Part 2; stores)
>
> Adds const information to store field accesses and uses it in load elimination
>
> Change-Id: I00765c854c95c955dabd78557463267b95f75eef
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611543
> Reviewed-by: Georg Neis <neis@chromium.org>
> Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> Commit-Queue: Georg Schmid <gsps@google.com>
> Cr-Commit-Position: refs/heads/master@{#61796}

Change-Id: Ie388754890024a3ca7d10c9d4d7391442655b426
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1630676
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Georg Schmid <gsps@google.com>
Cr-Commit-Position: refs/heads/master@{#61838}
2019-05-27 09:06:33 +00:00
..
benchmarks [test] Skip flaky test on predictable mode 2019-05-07 13:57:18 +00:00
cctest [cleanup] Drop some dead (Macro)Assembler code 2019-05-27 08:53:28 +00:00
common Move remaining files in src/ 2019-05-24 18:24:36 +00:00
debugger Revert "[test] Skip debugger tests failing with JSON parsing" 2019-05-20 13:58:05 +00:00
fuzzer Move remaining files in src/ 2019-05-24 18:24:36 +00:00
inspector Move remaining files in src/ 2019-05-24 18:24:36 +00:00
intl [Intl] Fix Null-der READ IsValidExtension<icu_64::Calendar> 2019-05-24 16:32:09 +00:00
js-perf-test Reland "[array] Move Array#sort pre-processing to Torque" 2019-05-24 12:13:17 +00:00
memory [perf] Refactor the Memory benchmark to use d8 2019-05-06 15:10:57 +00:00
message Reland "[stack-trace] Include API functions in Error.stack stack trace" 2019-05-21 10:40:30 +00:00
mjsunit Reland "Make LoadElimination aware of const fields (Part 2; stores)" 2019-05-27 09:06:33 +00:00
mkgrokdump Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
mozilla Reland "[array] Move Array#sort pre-processing to Torque" 2019-05-24 12:13:17 +00:00
preparser [test] Don't test jitless without embedded-builtins 2019-02-26 14:33:01 +00:00
test262 Implement spec change in some Proxy traps 2019-05-27 05:04:19 +00:00
torque Reland^2 "[torque] move class tests to unittests" 2019-05-24 09:52:53 +00:00
unittests Move unittest files 2019-05-27 08:52:23 +00:00
wasm-js [testrunner] handle timeout param in file 2019-02-27 17:49:17 +00:00
wasm-spec-tests [wasm] Update spec tests 2019-05-22 14:58:45 +00:00
webkit Reland "[array] Move Array#sort pre-processing to Torque" 2019-05-24 12:13:17 +00:00
BUILD.gn [tools] Implement confidence-based number of runs 2019-05-09 09:42:28 +00:00
OWNERS Clean up infra owners 2019-05-15 11:18:43 +00:00