v8/test/unittests
Leszek Swirski c941f11abd [sfi] Remove SFI function identifier field
Remove the function identifier field from SharedFunctionInfo. This field
would store one of a) the function's inferred name, b) the "builtin
function id", or c) debug info. We remove these in turn:

a) The function's inferred name is available on the ScopeInfo, so like
   the start/end position we read it off either the ScopeInfo (for
   compiled functions) or the UncompiledData (for uncompiled functions).

   As a side-effect, now both UncompiledData and its subclass,
   UncompiledDataWithPreparsedScope, contain a pointer field. To keep
   BodyDescriptors manageable, we introduce a SubclassBodyDescriptor
   which effectively appends two BodyDescriptors together.

b) The builtin function id is < 255, so we can steal a byte from
   expected no. of properies (also <255) and store these together.
   Eventually we want to get rid of this field and use the builtin ID,
   but this is pending JS builtin removal.

   As a side-effect, BuiltinFunctionId becomes an enum class (for better
   storage size guarantees).

c) The debug info can hang off anything (since it stores the field it
   replaces), so we can attach it to the script field instead.

This saves a word on compiled function (uncompiled functions
unfortunately still have to store it in UncompiledData).

Bug: chromium:818642
Change-Id: I8b4b3a070f0fe328aafcaeac58842d144d12d996
Reviewed-on: https://chromium-review.googlesource.com/1138328
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54543}
2018-07-19 09:07:11 +00:00
..
api [V8 Platform] Make CallOnWorkerThread use std::unique_ptr 2018-03-26 17:43:22 +00:00
asmjs Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
base Retire AtomicNumber. 2018-07-12 08:17:57 +00:00
compiler [explicit isolates] Remove various GetIsolates 2018-07-17 11:56:37 +00:00
compiler-dispatcher [heap] Forcing external strings to be registered in the external string table. 2018-07-04 10:55:26 +00:00
heap [unified-heap] Add finalization trigger 2018-07-11 12:25:40 +00:00
interpreter Define return count and return types in CallInterfaceDescriptor. 2018-06-21 09:35:28 +00:00
libplatform [V8 Platform] Better WorkerThreads APIs. 2018-04-30 19:05:40 +00:00
parser [GetIsolate] More low-hanging fruit 2018-06-23 09:53:20 +00:00
wasm [wasm] Remove the ref.eq instruction again 2018-07-12 11:36:17 +00:00
zone [data structures] Fix ZoneChunkList some more. 2018-02-23 14:20:07 +00:00
allocation-unittest.cc [heap] Add a read-only permission 2018-04-17 08:26:43 +00:00
bigint-unittest.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
BUILD.gn [heap] Refactoring heap growing strategy from Heap to HeapController class. 2018-06-07 12:38:34 +00:00
cancelable-tasks-unittest.cc Make CancelableTask ids unique 2017-08-02 16:10:42 +00:00
char-predicates-unittest.cc Use ICU for ID_START, ID_CONTINUE and WhiteSpace check 2017-06-14 20:32:49 +00:00
code-stub-assembler-unittest.cc Make CallInterfaceDescriptor isolate-independent 2018-06-18 15:55:53 +00:00
code-stub-assembler-unittest.h [csa] Add constant folding more universally to CodeAssembler operators 2017-09-12 10:03:10 +00:00
counters-unittest.cc [test] Allow two timing output to be the same 2018-02-12 16:37:46 +00:00
DEPS Move unit tests to test/unittests. 2014-10-01 08:34:25 +00:00
detachable-vector-unittest.cc [cleanup] Replace List with std::vector in api. 2017-09-28 09:32:18 +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 Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
locked-queue-unittest.cc Add lock-based unbounded queue 2015-11-18 10:54:13 +00:00
object-unittest.cc [explicit isolates] Remove GetIsolate from objects.cc 2018-07-13 12:42:14 +00:00
register-configuration-unittest.cc [Turbofan] Add concept of FP register aliasing on ARM 32. 2016-10-26 16:04:33 +00:00
run-all-unittests.cc [cleanup] use unique_ptr for the DefaultPlatform 2017-11-14 09:57:18 +00:00
source-position-table-unittest.cc Decouple SourcePositionTableBuilder from Zone 2017-11-21 12:56:13 +00:00
strings-storage-unittest.cc Extend hash seed to 64 bits 2018-07-16 11:19:42 +00:00
test-helpers.cc [sfi] Remove SFI function identifier field 2018-07-19 09:07:11 +00:00
test-helpers.h [unittests] Add TestWithIsolate::RunJS helper method 2017-11-13 14:27:51 +00:00
test-utils.cc Reland "[bigint] Add BigInt64Array, BigUint64Array" 2018-02-19 10:23:18 +00:00
test-utils.h [RCS] Add explicit tests for function callbacks 2017-11-14 09:48:08 +00:00
testcfg.py [test] Remove dead code from suites and tests 2018-02-01 14:12:49 +00:00
unicode-unittest.cc Consolidate UTF-8 Vector<char> to uc16 decoding into Iterator 2018-02-20 20:04:41 +00:00
unittests.status [test] Skip more hanging death tests on mac asan 2018-05-24 16:02:51 +00:00
utils-unittest.cc [turbofan] Add --trace-turbo-filter 2018-05-16 09:33:15 +00:00
value-serializer-unittest.cc Ensure ArrayBuffers are not neutered twice 2018-03-12 22:55:59 +00:00