v8/tools
Seth Brenith 87c16da505 [torque] move more bitfield definitions to Torque
This change moves the definitions of the bitfield flags used by Symbol
and Map to Torque. Symbol could directly follow the pattern established
by SharedFunctionInfo, but Map required some other changes:
- Until now, Torque bitfield definitions have required unsigned types. I
  thought that this would be the least-surprising behavior, since we
  never sign-extend when decoding bitfield values. However, I believe
  that the amount of churn involved in making ElementsKind be unsigned
  outweighs the benefit we were getting from this restriction (and
  similar difficulties are likely to arise in converting other bitfield
  structs to Torque), so this CL updates Torque to allow signed bitfield
  values.
- If we try to make Map extend from all of the generated classes that
  define its flags, we end up with class sizing problems because some
  compilers only apply empty base class optimization to the first in a
  row of empty base classes. We could work around this issue by
  generating macros instead of classes, but I took this as an
  opportunity for a minor clean-up instead: rather than having bitfield
  definitions for several different bitfield structs all jumbled
  together in Map, they can be split up. I think this makes the code a
  little easier to follow, but if others disagree I'm happy to implement
  macro generation instead.

Change-Id: Ibf339b0be97f72d740bf1daa8300b471912faeba
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988934
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#65701}
2020-01-10 14:57:01 +00:00
..
blink_tests [test] Remove obsolete blink test skips 2019-01-18 12:30:23 +00:00
cfi Reland "Move API-related files" 2019-05-17 12:52:27 +00:00
clusterfuzz [wasm] Adjust flags after changed implications 2020-01-09 16:55:42 +00:00
debug_helper [torque] Generate postmortem data about bitfields 2020-01-07 16:53:36 +00:00
dev [lookup] Refactor LookupIterator "property or element" creation 2020-01-09 18:39:11 +00:00
gcmole [gcmole] Update whitelist for src/heap 2020-01-08 09:42:25 +00:00
generate_shim_headers Add dependency to ICU 4.6 2013-07-01 08:32:41 +00:00
heap-stats [Intl] Prototype Intl.DisplayNames 2019-11-18 21:48:22 +00:00
ignition Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
jsfunfuzz [test] update the jsfunfuzz archive in Google Storage 2018-12-18 15:00:35 +00:00
link_clicker.extension [tools] Add link_click chrome extension 2017-05-09 15:25:21 +00:00
mb [test] Add unittests to fuchsia trybot 2019-11-18 07:56:21 +00:00
memory [build] Fix win-asan compilation 2017-10-16 08:37:15 +00:00
msan [gn] Add missing dep and blacklist for msan 2016-07-29 09:01:24 +00:00
ninja [ycm] The YouCompleteMe configuration is not VIM specific. 2015-02-12 07:21:13 +00:00
node Remove android_tools deps for v8 repo 2019-07-03 17:59:11 +00:00
perf [tools] Refactor patch/no-patch terminology in run_perf.py 2017-11-22 07:19:50 +00:00
profview [profview] Use requestAnimationFrame to schedule a render 2019-01-15 13:08:46 +00:00
profviz [Tools] Add support to tickprocessor to symbolize libraries embedded in APKs 2019-05-28 16:18:47 +00:00
release [release] Remove logic for handling the ChangeLog 2019-11-27 09:43:03 +00:00
sanitizers Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
snapshot [Builtins] Infrastructure for source positions in stubs/builtins 2019-01-22 19:09:36 +00:00
sodium Add tool to visualize machine code/lithium. 2013-10-21 13:35:48 +00:00
testrunner [wasm] Adjust flags after changed implications 2020-01-09 16:55:42 +00:00
toolchain [build] Add support for the other MIPS architectures 2018-03-19 10:43:07 +00:00
torque [torque] fix formatting of union types 2019-10-24 10:05:25 +00:00
tracing/proto-converter [tracing] Add the proto to json converter for trace events 2019-03-25 08:56:18 +00:00
turbolizer [turbolizer] Add shortcuts for hide (un)selected nodes 2019-12-04 17:34:22 +00:00
ubsan [ubsan] Make ARM and ARM64 UBSan-clean 2019-09-16 15:03:45 +00:00
unittests Remove 'embedded_builtins' variant 2019-10-22 12:58:02 +00:00
v8.xcodeproj
valgrind/asan [build] Add testrunner data deps 2018-03-26 12:17:08 +00:00
vim [vim] Update CrBuild to use autoninja. 2019-05-27 06:27:29 +00:00
visual_studio
wasm [wasm] Stage multi-value support 2019-10-22 13:49:52 +00:00
wasm-compilation-hints [wasm] Update OWNERS 2020-01-08 14:56:06 +00:00
__init__.py [test] make python recognize tools and tools/unittests as packages 2018-12-17 12:12:43 +00:00
adb-d8.py Remove JS natives support, step 3 2019-10-22 07:48:05 +00:00
android-build.sh
android-ll-prof.sh Change default ARCH version in android low-level profiler script to 4.6 2012-10-08 11:11:30 +00:00
android-run.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
android-sync.sh [preparser] deprecate stand-alone "preparser" test-suite 2019-11-20 08:52:59 +00:00
arguments.js [tools] Move common arguments processing into separate file 2017-10-24 00:25:04 +00:00
avg.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
bash-completion.sh Move remaining files in src/ 2019-05-24 18:24:36 +00:00
bigint-tester.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
BUILD.gn Reland "Add postmortem debugging helper library" 2019-07-31 14:30:19 +00:00
callstats_groups.py [tools] Add grouping to generate-runtime-callstats.py 2019-12-12 14:52:05 +00:00
callstats.html [tools] Fix callstats.html to correctly bucket OptimizeBackground events 2019-12-12 11:05:53 +00:00
callstats.py [tools] Add grouping to generate-runtime-callstats.py 2019-12-12 14:52:05 +00:00
callstats.py.vpython [tools] Fix platform specification for scipi 2018-08-17 18:49:49 +00:00
check-inline-includes.sh [iwyu] Extend inline include checking to tests. 2017-09-08 09:31:32 +00:00
check-static-initializers.sh [logging] Systematically emit CodeCreateEvents for builtins 2019-05-23 11:55:36 +00:00
check-unused-bailouts.sh [tools] Speed-up check-unused-bailouts.sh 2017-08-02 11:11:19 +00:00
check-unused-symbols.sh [cleanup] Remove unused heap-symbols and add tool. 2018-11-08 17:57:05 +00:00
codemap.js Revert "[prof] Attribute ticks in embedded builtins correctly" 2019-05-27 10:11:14 +00:00
collect_deprecation_stats.sh [objects] Deprecate GetIsolate/Heap behind a flag 2018-06-01 15:19:21 +00:00
compare-table-gen.js Add more exhaustive tests for Math.min and Math.max. 2015-04-10 12:35:16 +00:00
consarray.js Make sure files end with exactly one new line and police this in presubmit. 2013-11-22 13:50:39 +00:00
cpu.sh [tools] Allow specifying cores for cpu.sh script. 2015-11-18 10:53:30 +00:00
cross_build_gcc.sh Fix tools/cross_build_gcc.sh. 2014-02-20 16:37:40 +00:00
csvparser.js Escape backslashes when logging. 2018-08-10 09:09:19 +00:00
deprecation_stats.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
DEPS Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
detect-builtins.js [tools] Fix detect-builtins.js 2016-06-09 10:17:32 +00:00
disasm.py [grokdump] Include -z flag to make objdump disassemble all-zero sections 2017-04-21 13:35:37 +00:00
draw_instruction_graph.sh Rename A64 port to ARM64 port 2014-03-21 09:28:26 +00:00
dump-cpp.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
dumpcpp-driver.js [Tools] Add support to tickprocessor to symbolize libraries embedded in APKs 2019-05-28 16:18:47 +00:00
dumpcpp.js [log] Improve log parsing 2018-06-20 13:40:22 +00:00
eval_gc_nvp.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
eval_gc_time.sh [in-place weak refs] Remove WeakCell 2018-08-14 08:05:05 +00:00
find_depot_tools.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
find-commit-for-patch.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
freebsd-tick-processor
fuzz-harness.sh [compiler] Make --debug-code the default in debug builds. 2016-12-02 11:36:55 +00:00
gc_nvp_common.py Clean up mark-compact phases and GC counter names. 2015-12-11 11:26:21 +00:00
gc-nvp-to-csv.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
gc-nvp-trace-processor.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
gdb-v8-support.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
gdbinit [gdb] Do not set disassembly-flavor on non-x86 platforms. 2019-10-09 11:25:21 +00:00
gen-inlining-tests.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
gen-keywords-gen-h.py [parser] Remove #line directives from keywords-gen.h 2018-11-28 15:22:05 +00:00
gen-postmortem-metadata.py [torque] move more bitfield definitions to Torque 2020-01-10 14:57:01 +00:00
generate-builtins-tests.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
generate-header-include-checks.py Change all TODOs from clemensh to clemensb 2019-09-26 10:25:27 +00:00
generate-runtime-call-stats.py [tools] Clean up temporary directory after collecting stats 2019-12-23 16:15:40 +00:00
generate-ten-powers.scm
get_landmines.py [landmines] Force clean build to fix Misc V8 Linux gcc 2019-06-06 21:52:11 +00:00
grokdump.py Make grokdump.py work on Windows 2019-10-18 11:13:55 +00:00
ic-explorer.html [ic] Rename PatchCache to SetCache and remove unused methods. 2019-10-10 15:08:54 +00:00
ic-processor [tools] Move common arguments processing into separate file 2017-10-24 00:25:04 +00:00
ic-processor-driver.js [tools] Fix IC-Explorer drilldown and format file 2017-10-30 11:17:43 +00:00
ic-processor.js [tools] Make ic-processor print global loads/stores. 2019-01-18 12:35:43 +00:00
inspect-d8.js Improve JavaScript debugging in d8 2019-09-30 11:19:49 +00:00
linux-tick-processor [tools] Make tick processor report error to stderr. 2018-11-06 14:25:55 +00:00
ll_prof.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
lldb_commands.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
locs.py [tools] Use ThreadPoolExecutor with reasonable job count default 2019-04-08 10:41:46 +00:00
logreader.js [log] Improve log parsing 2018-06-20 13:40:22 +00:00
mac-nm [profiler] Graphical front-end for tick processor. 2017-03-04 13:04:58 +00:00
mac-tick-processor
Makefile.tags [Makefile] Move tags generation to standalone Makefile 2018-01-26 12:03:32 +00:00
map-processor tick processor: fix arguments and comments 2018-10-29 09:48:23 +00:00
map-processor-driver.js [tools] All new shiny maptracer.html 2017-12-18 12:48:00 +00:00
map-processor.html [tools] Clean up HTML for tools 2019-01-06 14:20:33 +00:00
map-processor.js [tools] Add file positions to map-explorer 2018-11-29 11:42:25 +00:00
objdump-v8 [disasm] Make jump target printing perf friendly 2017-03-20 14:47:04 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00
parse-processor tick processor: fix arguments and comments 2018-10-29 09:48:23 +00:00
parse-processor-driver.js [tools] New parse processor tool 2017-12-20 13:07:17 +00:00
parse-processor.html [tools] Clean up HTML for tools 2019-01-06 14:20:33 +00:00
parse-processor.js [tools] Improve function event logging and parse processor 2018-07-16 14:05:14 +00:00
perf-compare.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
plot-timer-events tick processor: fix arguments and comments 2018-10-29 09:48:23 +00:00
predictable_wrapper.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
PRESUBMIT.py [tools] Clean up presubmit and run all unittests 2019-02-01 10:27:29 +00:00
profile_view.js Tick processor: improved [Summary] section 2014-08-04 08:31:49 +00:00
profile.js [profview] Avoid treating embedded builtins as CPP code. 2018-09-27 12:14:15 +00:00
regexp-sequences.py Preparing v8 to use with python3 2019-10-18 13:10:56 +00:00
run_perf.py [perf] mask timeout failures if they succeed after retries 2019-07-16 09:38:40 +00:00
run-clang-tidy.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
run-llprof.sh Fix tools/run-llprof.sh to work with newer perf. 2014-10-09 06:01:41 +00:00
run-num-fuzzer.py [test] Implement gc fuzzer with test processors 2018-01-19 16:58:49 +00:00
run-perf.sh [cleanup] Replace underscore by minus in d8 flags 2019-04-03 12:32:08 +00:00
run-tests.py TestRunner initial refactor 2017-10-13 08:52:28 +00:00
run-wasm-api-tests.py [wasm-c-api] Roll 7865f7d: Expose possible traps during Instance::make 2019-08-23 09:46:29 +00:00
run.py First cut at run_mksnapshot action for gn 2014-06-03 06:50:46 +00:00
shell-utils.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
SourceMap.js Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
splaytree.js
stats-viewer.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
test262-results-parser.js test262 roll 2018-08-28 21:18:23 +00:00
tick-processor.html [Tools] Add support to tickprocessor to symbolize libraries embedded in APKs 2019-05-28 16:18:47 +00:00
tickprocessor-driver.js [Tools] Add support to tickprocessor to symbolize libraries embedded in APKs 2019-05-28 16:18:47 +00:00
tickprocessor.js [tools] Strip path from library when applying targetRootFS in tickprocessor 2019-06-28 15:07:24 +00:00
trace-maps-processor.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
try_perf.py [tools] Add support for --confidence-level flag to tools/try_perf.py 2019-06-14 12:33:49 +00:00
turbolizer-perf.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
update-object-macros-undef.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
v8_presubmit.py Fix presubmit copyright regex to allow the year 2020 2020-01-05 16:07:52 +00:00
v8heapconst.py [cleanup] Don't inherit from Tuple2 and Tuple3 2020-01-09 17:06:22 +00:00
whitespace.txt [goma] Whitespace to trigger builders 2019-12-09 11:34:19 +00:00
windbg.js [heap] Add base class for LargeObjectSpaces 2019-10-25 09:22:57 +00:00
windows-tick-processor.bat [tools] Move common arguments processing into separate file 2017-10-24 00:25:04 +00:00