v8/test/unittests
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
..
api [test] Migrate TEST(TryCatch...) in cctest/test-api to unittests. 2022-04-19 15:11:37 +00:00
asmjs [Respect] Prefer inclusive terms 2020-06-22 18:11:23 +00:00
assembler Reland "[rwx][mac] Introduce RwxMemoryWriteScope" 2022-04-19 08:48:47 +00:00
base [test] Move cctest/test-bignum to unittests 2022-04-25 09:39:19 +00:00
codegen [test] Move cctest/test-code-pages to unittests 2022-04-25 08:35:52 +00:00
compiler Reland "[interpreter] Optimize strict equal boolean" 2022-04-25 10:02:05 +00:00
compiler-dispatcher [test] Add a unittest platform setup mixin 2022-04-06 13:07:43 +00:00
date Reland "[d8] Remove maximum workers limitation" 2019-07-30 07:56:17 +00:00
debug [inspector] Speed up DebugPropertyIterator. 2021-09-13 12:52:11 +00:00
diagnostics [gdbjit] Fix overlapping AddressRegion check 2021-08-19 17:29:57 +00:00
execution [test] Add a unittest platform setup mixin 2022-04-06 13:07:43 +00:00
heap [api] Remove APIs for resurrecting finalizers 2022-04-21 07:05:25 +00:00
interpreter [osr] Add JumpLoop feedback slot operand 2022-04-20 12:57:44 +00:00
libplatform Revert "[test] Move tracing cctest to unittests" 2022-04-20 22:35:14 +00:00
logging [test] Add a unittest platform setup mixin 2022-04-06 13:07:43 +00:00
numbers [fastcall] Support JSArray as arguments 2021-06-23 14:01:40 +00:00
objects [test] Move cctest/test-concurrent-script-context-table to unittests 2022-04-23 02:07:26 +00:00
parser [cleanup] Remove DISALLOW_COPY_AND_ASSIGN in test/{common,unittests} 2020-11-06 06:07:54 +00:00
profiler [cpu-profiler] Add method to estimate mem size of ProfilerCodeObserver 2021-08-23 19:07:15 +00:00
regexp [regexp] Hide the generic JSRegExp::DataAt/SetDataAt accessors 2021-09-29 11:37:41 +00:00
regress [heap] Remove Factory::NewUninitializedFixedArray 2021-04-26 13:52:38 +00:00
runtime Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
sandbox [base] Don't return bool from VirtualAddressSpace::Free* routines 2022-03-07 16:53:23 +00:00
strings [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
tasks [test] Add a unittest platform setup mixin 2022-04-06 13:07:43 +00:00
torque Reland "Reland "[Torque] Generalize Torque literals to larger size"" 2022-02-04 09:40:24 +00:00
utils [test] Move cctest/test-bit-vector to unittests 2022-04-21 15:27:09 +00:00
wasm [test] Add a unittest platform setup mixin 2022-04-06 13:07:43 +00:00
zone [test] Add a unittest platform setup mixin 2022-04-06 13:07:43 +00:00
avoid-windows-h-includes.cc Test that heap-inl.h doesn't include windows.h 2021-10-14 21:18:51 +00:00
BUILD.gn [test] Move cctest/test-bignum to unittests 2022-04-25 09:39:19 +00:00
DEPS Move unit tests to test/unittests. 2014-10-01 08:34:25 +00:00
run-all-unittests.cc [test] Add a unittest platform setup mixin 2022-04-06 13:07:43 +00:00
test-helpers.cc [compiler-dispatcher] Move Job pointer to SFI 2021-12-08 16:03:35 +00:00
test-helpers.h [compiler] Introduce ReusableUnoptimizedCompileState 2021-12-08 11:14:27 +00:00
test-utils.cc heap: Convert embedder tracing tests to unittests 2022-04-08 12:43:55 +00:00
test-utils.h [test] Move cctest/test-concurrent-string to unittests 2022-04-22 08:22:57 +00:00
testcfg.py [test] Clean up Py2 code 2022-03-17 09:12:36 +00:00
unittests.status [unittest] Temporarily disable ConservativeGCTracesWeakContainer test 2022-04-25 09:38:16 +00:00