v8/test/unittests
Leszek Swirski 35269f77f8 [ignition] Skip binding dead labels
BytecodeLabels for forward jumps may create a dead basic block if their
corresponding jump was elided (due to it dead code elimination). We can
avoid generating such dead basic blocks by skipping the label bind when
no corresponding jump has been observed. This works because all jumps
except JumpLoop are forward jumps, so we only have to special case one
Bind for loop headers to bind unconditionally.

Since Binds are now conditional on a jump existing, we can no longer rely
on using Bind to get the current offset (e.g. at the beginning of a try
block). Instead, we now expose the current offset in the bytecode array
writer. Conveniently, this means that we can be a bit smarter about basic
blocks around these statements.

As a drive-by, remove the unused Bind(target,label) function.

Bug: chromium:934166
Change-Id: I532aa452fb083560d07b90da99caca0b1d082aa3
Reviewed-on: https://chromium-review.googlesource.com/c/1488763
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59942}
2019-02-28 12:17:34 +00:00
..
api Make Isolate::GetIncumbentContext() work fine with ASAN 2018-11-21 05:40:08 +00:00
asmjs [ubsan] Fix errors related to AsmType 2019-01-07 13:07:26 +00:00
assembler PPC/s390: [test] Refactor AllocateAssemblerBuffer 2019-01-17 17:37:32 +00:00
base test: Replace _TEST_CASE_ with _TEST_SUITE_. 2019-02-18 21:36:56 +00:00
compiler [turbofan] Canonicalize uses of DependOnProtector 2019-02-27 18:56:30 +00:00
compiler-dispatcher [cleanup] #include heap-inl.h less often 2019-02-15 06:22:53 +00:00
heap [heap] Relax accessing markbits in ranges. 2019-02-25 15:28:41 +00:00
interpreter [ignition] Skip binding dead labels 2019-02-28 12:17:34 +00:00
libplatform [cleanup] Mark libplatform methods in subclasses with override. 2018-09-14 16:43:37 +00:00
parser [cleanup] #include heap-inl.h less often 2019-02-15 06:22:53 +00:00
torque [torque] fix bug in Stack::DeleteRange 2018-10-16 09:24:45 +00:00
wasm [wasm] Fix {StreamingDecoder} to reject multiple code sections. 2019-02-26 09:59:44 +00:00
zone [zone] Revert to previous zone allocation strategies due to severe memory regressions. 2018-11-27 12:55:45 +00:00
allocation-unittest.cc [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
background-compile-task-unittest.cc [cleanup] #include heap-inl.h less often 2019-02-15 06:22:53 +00:00
bigint-unittest.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
BUILD.gn [heap] Relax accessing markbits in ranges. 2019-02-25 15:28:41 +00:00
cancelable-tasks-unittest.cc [wasm] Reschedule compilation tasks 2019-01-17 18:27:08 +00:00
char-predicates-unittest.cc [cleanup] Make unicode predicate cache tables static 2018-11-14 15:33:45 +00:00
code-stub-assembler-unittest.cc [csa] re-schedule CSA graph 2018-11-13 17:12:01 +00:00
code-stub-assembler-unittest.h [cleanup] Refactor general tests to use default members. 2018-09-14 14:40:47 +00:00
conversions-unittest.cc [conversions] Speed up double to CString conversion 2018-12-19 12:10:50 +00:00
counters-unittest.cc [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
DEPS
detachable-vector-unittest.cc Make DetachableVector accessible from builtins 2018-11-13 01:30:16 +00:00
eh-frame-iterator-unittest.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
eh-frame-writer-unittest.cc [cleanup] Fix kPointerSize in tests 2019-02-14 15:29:52 +00:00
locked-queue-unittest.cc
microtask-queue-unittest.cc Reland "Do not enqueue or run a microtask on detached contexts" 2019-02-27 04:57:07 +00:00
object-unittest.cc [cleanup] Introduce STRUCT_MAPS_LIST generated from STRUCT_LIST. 2018-09-21 16:10:34 +00:00
register-configuration-unittest.cc Use static RegisterName function instead of RegisterConfiguration 2018-11-21 10:24:13 +00:00
run-all-unittests.cc [cleanup] Refactor general tests to use default members. 2018-09-14 14:40:47 +00:00
source-position-table-unittest.cc [cleanup] Refactor general tests to use default members. 2018-09-14 14:40:47 +00:00
strings-storage-unittest.cc Extend hash seed to 64 bits 2018-07-16 11:19:42 +00:00
test-helpers.cc [parser] Rename PreParsedScopeData to PreparseData 2019-01-07 14:49:21 +00:00
test-helpers.h [Compiler] Remove CompilerDispatcherJob and use BackgroundCompileTask directly 2018-10-09 10:39:27 +00:00
test-utils.cc [heap] Reimplement unmapper tests using tracking page allocator 2018-11-07 09:47:17 +00:00
test-utils.h Use local MicrotaskQueue in unittests 2019-01-17 21:42:52 +00:00
testcfg.py Revert "Preparing v8 to use with python3 /test" 2019-02-20 10:20:59 +00:00
unicode-unittest.cc Fix & reland "[utf8] Rewrite NewStringFromUtf8 using Utf8::ValueOfIncremental" 2019-02-06 13:11:11 +00:00
unittests.status [test] Don't test jitless without embedded-builtins 2019-02-26 14:33:01 +00:00
utils-unittest.cc test: Replace _TEST_CASE_ with _TEST_SUITE_. 2019-02-18 21:36:56 +00:00
value-serializer-unittest.cc [value serializer] check for stack overflow for verify object count. 2018-12-17 10:21:18 +00:00