v8/test/unittests
Jakob Kummerow 9235ec6302 [wasm-gc] Optimize struct field offsets
Aligning struct fields to multiples of their own size can leave gaps
between them, e.g. when i8 and i32 fields alternate. This patch
introduces a simple optimization: it keeps track of the most recent
such gap, and attempts to use it for later fields that are small enough.

Bonus changes:
- Cap field alignment to 4 bytes (because we only have 4-byte object
  alignment anyway).
- Don't re-compute field offsets when canonicalizing types. Instead,
  re-use the original type's offsets.

Bug: v8:7748
Change-Id: Iabfc8e7cda94f16d196ed4429f3aa92d249b3b72
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4092494
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84933}
2022-12-19 12:58:37 +00:00
..
api Fix a failing DCHECK 2022-12-15 14:06:59 +00:00
asmjs [test] Remove some unused includes (2) 2022-07-19 08:55:55 +00:00
assembler Remove unused RelocInfo::Mode::RUNTIME_ENTRY 2022-09-20 12:52:52 +00:00
base Adds flag for which sin/cos implementation to use 2022-12-15 15:00:17 +00:00
codegen [heap] Enable conservative stack scanning on tests 2022-12-14 16:14:12 +00:00
compiler [wasm] Move Int64Lowering to a later point 2022-12-16 16:17:36 +00:00
compiler-dispatcher [unittests] Use v8_flags for accessing flag values 2022-09-15 17:51:59 +00:00
date
debug [debug] Use context isolate when creating PropertyIterator 2022-11-03 19:37:55 +00:00
deoptimizer [deoptimizer] Remove deoptimized code list 2022-11-17 13:32:17 +00:00
diagnostics
execution [execution] Pushed microtask queue suppression must be for current queue 2022-11-07 16:30:13 +00:00
flags [unittests] Use v8_flags for accessing flag values 2022-09-15 17:51:59 +00:00
heap [api, heap] Avoid deprecated usage of EmbedderHeapTracer 2022-12-16 12:19:10 +00:00
inspector [inspector] Remove experimental_async_stack_tagging_api flag 2022-10-24 05:23:50 +00:00
interpreter [turbofan] Support BigIntEqual 2022-12-14 10:37:47 +00:00
js-atomics [shared-struct, api] Support shared isolates in API 2022-08-26 23:41:57 +00:00
libplatform [Tracing w/SDK] Replace TraceStateObserver with TrackEventSessionObserver 2022-12-01 11:18:24 +00:00
libsampler [test] move cctest/libsampler to unittests/libsampler 2022-05-17 09:51:27 +00:00
logging [logging] Use v8_flags for accessing flag values 2022-09-15 12:44:51 +00:00
numbers [test] Move cctest/test-diy-fp to unittests/numbers/ 2022-05-31 07:34:19 +00:00
objects [heap] Enable conservative stack scanning on tests 2022-12-14 16:14:12 +00:00
parser [heap] Enable conservative stack scanning on tests 2022-12-14 16:14:12 +00:00
profiler
regexp [unittests] Use v8_flags for accessing flag values 2022-09-15 17:51:59 +00:00
regress
runtime [wasm] Fix inspection of imported wasm tables created in JS 2022-09-22 12:01:44 +00:00
sandbox [sandbox] Initialize sandbox during V8::Initialize 2022-07-15 09:29:32 +00:00
strings [unittests] Use v8_flags for accessing flag values 2022-09-15 17:51:59 +00:00
tasks [unittests] Use v8_flags for accessing flag values 2022-09-15 17:51:59 +00:00
temporal [Temporal] Clean up parser 2022-09-27 20:38:54 +00:00
torque
tracing [test] Move cctest/test-traced-value to unittests/tracing/ 2022-05-30 06:03:18 +00:00
utils Reland "[heap] Transition/Shortcut strings only during GCs without stack" 2022-11-22 16:37:57 +00:00
wasm [wasm-gc] Optimize struct field offsets 2022-12-19 12:58:37 +00:00
web-snapshot [heap] Enable conservative stack scanning on tests 2022-12-14 16:14:12 +00:00
zone
avoid-windows-h-includes.cc
BUILD.gn [wasm-gc] Optimize struct field offsets 2022-12-19 12:58:37 +00:00
DEPS Reland "Reland "[test] Move tracing cctest to unittests"" 2022-05-31 16:16:57 +00:00
gay-fixed.cc [test] Move cctest/{test-bignum-dtoa, test-dtoa 2022-05-17 01:38:57 +00:00
gay-fixed.h [test] Move cctest/{test-bignum-dtoa, test-dtoa 2022-05-17 01:38:57 +00:00
gay-precision.cc [test] Move cctest/{test-bignum-dtoa, test-dtoa 2022-05-17 01:38:57 +00:00
gay-precision.h [test] Move cctest/{test-bignum-dtoa, test-dtoa 2022-05-17 01:38:57 +00:00
gay-shortest.cc [test] Move cctest/{test-bignum-dtoa, test-dtoa 2022-05-17 01:38:57 +00:00
gay-shortest.h [test] Move cctest/{test-bignum-dtoa, test-dtoa 2022-05-17 01:38:57 +00:00
run-all-unittests.cc [test] Add perfetto initialisation to unittest runner 2022-06-01 12:32:17 +00:00
test-helpers.cc
test-helpers.h
test-utils.cc [heap] Enable conservative stack scanning on tests 2022-12-14 16:14:12 +00:00
test-utils.h [heap] Enable conservative stack scanning on tests 2022-12-14 16:14:12 +00:00
testcfg.py [heap] Run unittests for MinorMC variant 2022-11-25 19:47:56 +00:00
unittests.status [turbofan] Fix bugs of ToBigIntConvertNumber 2022-12-12 17:01:54 +00:00
v8_unittests.cml [fuchsia][v8_unittests] migrate v8_unittests.cmx to .cml 2022-08-24 13:36:40 +00:00