v8/test
jameslahm fce1047f00 Reland "[interpreter] Optimize strict equal boolean"
This is a reland of commit 62632c0805.
Reason for previous revert: Performance regressions crbug.com/1315724.
The reland only optimizes strict equal boolean literal like "a===true"
or "a===false", and we generate TestReferenceEqual rather than
TestStrictEqual for the comparasion. And also add typed optimization
for ReferenceEqual when all inputs are boolean with boolean constant.

Original change's description:
> [interpreter] Optimize strict equal boolean
>
> For strict equal boolean literal like "a===true"
> or "a===false", we could generate TestReferenceEqual
> rather than TestStrictEqual. And in `execution_result()->IsTest()`
> case, we could directly emit JumpIfTrue/JumpIfFalse.
>
> E.g.
> ```
> a === true
> ```
> Generated Bytecode From:
> ```
> LdaGlobal
> Star1
> LdaTrue
> TestEqualStrict
> ```
> To:
> ```
> LdaGlobal
> Star1
> LdaTrue
> TestReferenceEqual
> ```
>
> E.g.
> ```
> if (a === true)
> ```
> Generated Bytecode From:
> ```
> LdaGlobal
> Star1
> LdaTrue
> TestEqualStrict
> JumpIfFalse
> ```
> To
> ```
> LdaGlobal
> JumpIfTrue
> Jump
> ```
>
>
> Bug: v8:6403
> Change-Id: Ieaca147acd2d523ac0d2466e7861afb2d29a1310
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3568923
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> Commit-Queue: 王澳 <wangao.james@bytedance.com>
> Cr-Commit-Position: refs/heads/main@{#79935}

Bug: v8:6403
Change-Id: I2ae3ab57dce85313af200fa522e3632af5c3a554
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3592039
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Jakob Linke <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80141}
2022-04-25 10:02:05 +00:00
..
benchmarks [tests] Skip slow tests on certain configurations 2022-01-31 13:52:22 +00:00
bigint [bigint][test] Better random input generation 2021-09-08 15:39:27 +00:00
cctest Reland "[interpreter] Optimize strict equal boolean" 2022-04-25 10:02:05 +00:00
common [wasm-simd] Remove F32x4RecipApprox and F32x4RecipSqrtApprox 2022-04-22 17:37:19 +00:00
debugger [ic] name Set/Define/Store property operations more consistently 2022-03-08 18:48:16 +00:00
debugging [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
fuzzer [liftoff] Move more options into LiftoffOptions 2022-04-19 16:21:21 +00:00
fuzzilli
inspector [inspector] Add 'canBeRestarted' flag to CallFrames when debugger pauses 2022-04-20 12:40:34 +00:00
intl [maglev] Create test variant 2022-03-23 10:12:52 +00:00
js-perf-test Reland "[interpreter] Optimize strict equal boolean" 2022-04-25 10:02:05 +00:00
memory
message [error] Improve error message for array spread 2022-04-15 01:23:54 +00:00
mjsunit Reland "[interpreter] Optimize strict equal boolean" 2022-04-25 10:02:05 +00:00
mkgrokdump [py3] Bump v8heapconstants.py and related files 2022-04-04 13:27:13 +00:00
mozilla [test] Clean up Py2 code 2022-03-17 09:12:36 +00:00
test262 [Temporal] Add Calendar.prototype.fields 2022-04-22 21:50:26 +00:00
torque Reland "Reland "[Torque] Generalize Torque literals to larger size"" 2022-02-04 09:40:24 +00:00
unittests Reland "[interpreter] Optimize strict equal boolean" 2022-04-25 10:02:05 +00:00
wasm-api-tests [test] Clean up Py2 code 2022-03-17 09:12:36 +00:00
wasm-js [wasm] Update spec tests 2022-04-20 09:23:44 +00:00
wasm-spec-tests [wasm] Update spec tests 2022-04-20 09:23:44 +00:00
webkit [test] Disable failing MSVC test 2021-12-01 15:51:59 +00:00
BUILD.gn Reland^2 "[bigint] Karatsuba multiplication" 2021-06-07 11:01:14 +00:00
OWNERS