v8/test/unittests
Ross McIlroy f92d7196b9 [SFI] Always store function_literal_id in SFI.
Calling FindIndexInScript performs a linear search on the script functions and can
take considerable time. With Bytecode flushing we will lose the function_literal_id
and have to call FindIndexInScript if we ever recompile the flushed function. This
can take a significant proportion of the recompilation time and has caused regressions
in rendering times for some web applications (e.g, 395ms in FindIndexInScript for 132ms
spent lazily re-compiling code).

To avoid this, add function_literal_id back into the SFI and remove it from
UnoptimizedCompileInfo. This will slightly regress memory usage (particularly
in cases where many of the SFIs are compiled), however it means we can remove
the FindIndexInScript function and avoid these long-tail regressions when
bytecode is flushed.

BUG=chromium:965833

Change-Id: Ia31e82eb6c871a6d698a518326a8555822a7a1d8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1669700
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#62319}
2019-06-21 16:23:27 +00:00
..
api [cleanup] Add %PrepareFunctionForOptimize for tests that use %OptimizeOsr 2019-06-18 16:47:29 +00:00
asmjs Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
assembler Move architecture dependent files 2019-05-28 14:02:15 +00:00
base [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
codegen Move unittest files 2019-05-27 08:52:23 +00:00
compiler [ptr-compr] Extend Decompression Elimination to Compress/Decompress pairs 2019-06-18 14:30:04 +00:00
compiler-dispatcher [SFI] Always store function_literal_id in SFI. 2019-06-21 16:23:27 +00:00
date Move unittest files 2019-05-27 08:52:23 +00:00
diagnostics Move unittest files 2019-05-27 08:52:23 +00:00
execution Move unittest files 2019-05-27 08:52:23 +00:00
heap [heap] Introduce a min heap size and skip GCs below that threshold 2019-06-06 15:49:50 +00:00
interpreter Handlify bytecode array accessor's constant getters. 2019-06-17 16:13:30 +00:00
libplatform [tracing] Implement RunsTasksOnCurrentThread for the worker task runner 2019-05-08 09:03:04 +00:00
logging [counters] Introduce proper bottleneck for FunctionCallback. 2019-06-12 09:04:38 +00:00
numbers [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
objects [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
parser Move remaining files in src/ 2019-05-24 18:24:36 +00:00
profiler [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
regress Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
strings [cleanup] Remove 'typedef struct' and 'typedef enum' 2019-05-28 12:17:35 +00:00
tasks [SFI] Always store function_literal_id in SFI. 2019-06-21 16:23:27 +00:00
torque [torque] Address remaining usages of @noVerifier in base.tq 2019-06-18 22:44:58 +00:00
utils [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
wasm [base] Move v8memory.h to base/memory.h 2019-06-21 11:44:18 +00:00
zone [zone] Remove segment pooling from accounting allocator 2019-03-01 09:25:48 +00:00
BUILD.gn [wasm] Add unittest for PrintWasmText 2019-06-08 12:39:07 +00:00
DEPS Move unit tests to test/unittests. 2014-10-01 08:34:25 +00:00
OWNERS Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
run-all-unittests.cc Reland "Add test to show the crashing of TimeZone::AdoptDefault" 2019-05-16 09:38:43 +00:00
test-helpers.cc [SFI] Always store function_literal_id in SFI. 2019-06-21 16:23:27 +00:00
test-helpers.h [Compiler] Remove CompilerDispatcherJob and use BackgroundCompileTask directly 2018-10-09 10:39:27 +00:00
test-utils.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-utils.h [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
testcfg.py Reland "Preparing v8 to use with python3 /test" 2019-03-20 09:56:06 +00:00
unittests.status [torque] disable Windows ASAN unittests 2019-05-28 13:16:06 +00:00