v8/tools
Tobias Tebbi 79b00555ea [torque] introduce JSAny type for user-accessible JavaScript values
This CL introduces a JSAny type for user-exposed JavaScript values and
a few new types to define it. Especially, it splits Symbol into
PrivateSymbol (not exposed) and PublicSymbol (JavaScript exposed
symbols).

The change is mostly mechanical, but a few things are interesting:
- PropertyKey and JSPrimitive were designed to coincide with the spec
  notions of IsPropertyKey() and primitive value, respectively.
- Since Name is an open type, we define AnyName to be the known
  subtypes of Name. This is not too elegant, but by using AnyName
  instead of Name, typeswitch can properly conclude something if a
  subtype of Name is excluded.

Small drive-by changes, which were necessary:
- Allow subtyping on label parameters.
- Fix the formatting of typeswitch, it was broken with union types
  in case types.

Bug: v8:7793
Change-Id: I14b10507f8cf316ad85e048fe8d53d1df5e0bb13
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1735322
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63114}
2019-08-07 11:44:18 +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 [asm.js] Propagate language mode to exported functions. 2019-07-19 11:47:48 +00:00
debug_helper Reland "Add postmortem debugging helper library" 2019-07-31 14:30:19 +00:00
dev [wasm-c-api] Add tests and fixes 2019-05-28 09:57:04 +00:00
gcmole Reland "Add postmortem debugging helper library" 2019-07-31 14:30:19 +00:00
generate_shim_headers
heap-stats [obj-stats] Fix heap-stats label order 2019-07-25 14:43:35 +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
mb Add json output arg to mg gen and analyze. 2019-07-22 19:33:20 +00:00
memory
msan
ninja
node Remove android_tools deps for v8 repo 2019-07-03 17:59:11 +00:00
perf
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 [tools] Remove cctest from non-ref official archives 2019-04-12 09:17:52 +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
testrunner Reland "[test] Print hanging tests on linux on test-runner termination" 2019-08-05 11:50:18 +00:00
toolchain [build] Add support for the other MIPS architectures 2018-03-19 10:43:07 +00:00
torque [torque] introduce JSAny type for user-accessible JavaScript values 2019-08-07 11:44:18 +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] Fix keyboard shortcuts in info tab to reveal input/output nodes. 2019-07-09 14:15:52 +00:00
ubsan [test] Remove obsolete ubsan suppression 2019-02-20 09:16:57 +00:00
unittests Check that function was prepared before optimizing using manually 2019-07-11 14:57:49 +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][tests] Add proposal tests to the wasm spec tests 2019-07-17 15:31:31 +00:00
wasm-compilation-hints [wasm-hints] Add tool to inject compilation hints into Wasm modules 2019-05-23 15:16:46 +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 Migrate android SDK path to third_party/android_sdk/public for v8 repo 2019-03-21 12:43:39 +00:00
android-build.sh
android-ll-prof.sh
android-run.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
android-sync.sh
arguments.js
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.html [tools] Clean up HTML for tools 2019-01-06 14:20:33 +00:00
callstats.py [browser-stories] refactor reading logs 2019-07-17 13:42:32 +00:00
callstats.py.vpython [tools] Fix platform specification for scipi 2018-08-17 18:49:49 +00:00
check-inline-includes.sh
check-static-initializers.sh [logging] Systematically emit CodeCreateEvents for builtins 2019-05-23 11:55:36 +00:00
check-unused-bailouts.sh
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
concatenate-files.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
consarray.js
cpu.sh
cross_build_gcc.sh
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
detect-builtins.js
disasm.py
draw_instruction_graph.sh
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
gc_nvp_common.py
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] Add gdb macro 'pn' that prints TurboFan nodes 2019-06-27 13:29:08 +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] Use @generateCppClass in some simple cases 2019-07-15 15:29:08 +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 Move remaining files in src/ 2019-05-24 18:24:36 +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 [grokdump] Fix outdated arm64 identifier value 2019-06-07 08:30:56 +00:00
ic-explorer.html [tools] Clean up HTML for tools 2019-01-06 14:20:33 +00:00
ic-processor
ic-processor-driver.js
ic-processor.js [tools] Make ic-processor print global loads/stores. 2019-01-18 12:35:43 +00:00
js2c.py Move remaining files in src/ 2019-05-24 18:24:36 +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
mac-tick-processor
Makefile.tags
map-processor tick processor: fix arguments and comments 2018-10-29 09:48:23 +00:00
map-processor-driver.js
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
mips_toolchain.tar.gz.sha1
objdump-v8
OWNERS Use COMMON_OWNERS for tools/ 2019-07-02 07:25:11 +00:00
parse-processor tick processor: fix arguments and comments 2018-10-29 09:48:23 +00:00
parse-processor-driver.js
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
profile.js [profview] Avoid treating embedded builtins as CPP code. 2018-09-27 12:14:15 +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
run-num-fuzzer.py
run-perf.sh [cleanup] Replace underscore by minus in d8 flags 2019-04-03 12:32:08 +00:00
run-tests.py
run-wasm-api-tests.py [wasm-c-api] Introducing WasmCapiFunction 2019-05-08 14:28:06 +00:00
run.py
shell-utils.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
SourceMap.js
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 Enable cpplint 'runtime/references' warning 2019-07-08 09:59:36 +00:00
v8heapconst.py Use list of invalidated objects for old-to-new refs 2019-08-06 09:01:59 +00:00
whitespace.txt Whitespace change to trigger builders 2019-08-07 07:40:44 +00:00
windbg.js Added !mem and !where extensions to windbg.js 2019-06-21 16:03:38 +00:00
windows-tick-processor.bat