v8/tools
Alexey Kozyatinskiy 3dfaf8264f [debug] liveedit in native
Liveedit step-by-step:
1. calculate diff between old source and new source,
2. map function literals from old source to new source,
3. create new script for new_source,
4. mark literals with changed code as changed, all others as unchanged,
5. check that for changed literals there are no:
  - running generators in the heap,
  - non droppable frames (e.g. running generator) above them on stack.
6. mark the bottom most frame with changed function as scheduled for
   restart if any.
7. for unchanged functions:
  - deoptimize,
  - remove from cache,
  - update source positions,
  - move to new script,
  - reset feedback information and preparsed scope information if any,
  - replace any sfi in constant pool with changed one if any.
8. for changed functions:
  - deoptimize
  - remove from cache,
  - reset feedback information,
  - update all links from js functions to old shared with new one.
9. swap scripts.

TBR=ulan@chromium.org

Bug: v8:7862,v8:5713
Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I8f6f6156318cc82d6f36d7ebc1c9f7d5f3aa1461
Reviewed-on: https://chromium-review.googlesource.com/1105493
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54146}
2018-07-03 00:44:50 +00:00
..
blink_tests
cfi [CFI] Expand blacklisted entries 2018-04-11 09:00:31 +00:00
clusterfuzz [wasm] Prepare enabling liftoff by default on ia32 and x64 2018-06-22 11:06:26 +00:00
dev [gm] Set v8_enable_fast_mksnapshot by default 2018-06-29 09:30:16 +00:00
gcmole [inspector] postpone API interrupts during creation of injected script 2018-06-05 18:04:44 +00:00
generate_shim_headers
heap-stats [object-stats] Track RelocInfo and SourcePositionTable 2018-06-15 09:19:35 +00:00
ignition [Interpreter] Replace --ignition flag with a --stress-fullcodegen 2017-07-13 13:05:00 +00:00
jsfunfuzz Reland "[build] Remove legacy isolate configurations" 2018-03-28 12:36:55 +00:00
link_clicker.extension [tools] Add link_click chrome extension 2017-05-09 15:25:21 +00:00
mb Generalize default Win10 dimensions. 2018-04-09 18:53:52 +00:00
memory [build] Fix win-asan compilation 2017-10-16 08:37:15 +00:00
msan
ninja
node build_gn.py: Forward BUNDLED_WIN_TOOLCHAIN_ROOT 2018-04-25 16:13:13 +00:00
perf [tools] Refactor patch/no-patch terminology in run_perf.py 2017-11-22 07:19:50 +00:00
profview [profview] Use identity operator 2017-11-08 09:11:33 +00:00
profviz [log] Improve log parsing 2018-06-20 13:40:22 +00:00
release [tools] Use TBR by default for uploaded branch CLs 2018-05-22 16:11:52 +00:00
sanitizers Revert "[heap] Add TSAN suppression for lock-order inversion in Scavenger" 2017-10-25 10:18:49 +00:00
sodium
testrunner [wasm] Prepare enabling liftoff by default on ia32 and x64 2018-06-22 11:06:26 +00:00
toolchain [build] Add support for the other MIPS architectures 2018-03-19 10:43:07 +00:00
torque [torque] Remove try/catch (only support try/label) 2018-06-04 19:55:02 +00:00
turbolizer [turbolizer] Display instruction ranges in turbolizer 2018-06-13 18:06:32 +00:00
ubsan [build] Add ubsan blacklist file 2018-06-19 10:46:53 +00:00
unittests [test] Abort testing immediately on interrupt and sigterm 2018-02-20 18:02:25 +00:00
v8.xcodeproj
valgrind/asan [build] Add testrunner data deps 2018-03-26 12:17:08 +00:00
vim
visual_studio
wasm [wasm] Update spec tests 2018-01-25 09:28:58 +00:00
adb-d8.py [tools] Various small adb-d8.py enhancements 2017-08-24 14:20:55 +00:00
android-build.sh
android-ll-prof.sh
android-run.py
android-sync.sh [tools] Move common arguments processing into separate file 2017-10-24 00:25:04 +00:00
arguments.js [tools] Move common arguments processing into separate file 2017-10-24 00:25:04 +00:00
bash-completion.sh
bigint-tester.py [bigint] Remove BigInt.parseInt 2018-01-26 02:51:58 +00:00
BUILD.gn Reland "[build] Remove legacy isolate configurations" 2018-03-28 12:36:55 +00:00
callstats.html [tools] Update tools/callstats.* with the new background GC group. 2017-12-04 15:46:28 +00:00
callstats.py [tools] Update tools/callstats.* with the new background GC group. 2017-12-04 15:46:28 +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
check-unused-bailouts.sh [tools] Speed-up check-unused-bailouts.sh 2017-08-02 11:11:19 +00:00
codemap.js [builtins] Add kind specific flag for off-heap trampolines 2018-06-22 09:43:25 +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 Fix common misspellings 2017-08-02 09:35:28 +00:00
consarray.js
cpu.sh
cross_build_gcc.sh
csvparser.js [log] Escape newline with \n 2017-11-03 16:41:39 +00:00
DEPS
detect-builtins.js
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
dump-cpp.py [tools] Move common arguments processing into separate file 2017-10-24 00:25:04 +00:00
dumpcpp-driver.js
dumpcpp.js [log] Improve log parsing 2018-06-20 13:40:22 +00:00
eval_gc_nvp.py
eval_gc_time.sh [Heap] Remove code flushing. 2017-05-22 09:34:43 +00:00
find_depot_tools.py
find-commit-for-patch.py
freebsd-tick-processor
fuzz-harness.sh
gc_nvp_common.py
gc-nvp-to-csv.py
gc-nvp-trace-processor.py
gdb-v8-support.py [tools] Add redirect gdb helper 2017-11-24 16:55:16 +00:00
gdbinit [explicit isolates] Pass Isolate to Object::Print 2018-06-26 12:32:04 +00:00
gen-inlining-tests.py [turbofan] Remove --turbo shorthand for --turbo-filter. 2017-06-23 11:19:19 +00:00
gen-postmortem-metadata.py Drop stack-locals from ScopeInfo 2018-06-18 15:21:13 +00:00
generate-builtins-tests.py
generate-ten-powers.scm
get_landmines.py [build] Prepare removal of gyp-defines from landmine 2018-02-16 23:28:14 +00:00
grokdump.py [tools] Make grokdump.py bind to localhost only. 2018-04-18 13:13:05 +00:00
ic-explorer.html [tools] Fix IC-Explorer drilldown and format file 2017-10-30 11:17:43 +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 [log] Improve log parsing 2018-06-20 13:40:22 +00:00
js2c.py Remove initial whitespace & empty lines to decrease JS files size 2017-12-19 00:04:19 +00:00
jsmin.py
linux-tick-processor [tools] Move common arguments processing into separate file 2017-10-24 00:25:04 +00:00
ll_prof.py
lldb_commands.py [tools] add lldbinit 2017-03-27 06:44:15 +00:00
lldbinit [explicit isolates] Pass Isolate to Object::Print 2018-06-26 12:32:04 +00:00
logreader.js [log] Improve log parsing 2018-06-20 13:40:22 +00:00
mac-nm
mac-tick-processor
Makefile.tags [Makefile] Move tags generation to standalone Makefile 2018-01-26 12:03:32 +00:00
map-processor [tools] All new shiny maptracer.html 2017-12-18 12:48:00 +00:00
map-processor-driver.js [tools] All new shiny maptracer.html 2017-12-18 12:48:00 +00:00
map-processor.html [tools] All new shiny maptracer.html 2017-12-18 12:48:00 +00:00
map-processor.js [log] Improve log parsing 2018-06-20 13:40:22 +00:00
mips_toolchain.tar.gz.sha1 [build] Enable downloading mips toolchain via runhooks 2018-01-31 14:38:43 +00:00
objdump-v8 [disasm] Make jump target printing perf friendly 2017-03-20 14:47:04 +00:00
OWNERS
parse-processor [log][tools] Fix logging on deserialized scripts 2018-06-27 15:32:37 +00:00
parse-processor-driver.js [tools] New parse processor tool 2017-12-20 13:07:17 +00:00
parse-processor.html Reland "[parser][log] Log script id during background compilation" 2018-06-25 10:46:34 +00:00
parse-processor.js [log][tools] Fix logging on deserialized scripts 2018-06-27 15:32:37 +00:00
perf-compare.py Reland "Reland "[test] Creating command before execution phase."" 2017-12-04 13:40:29 +00:00
perf-to-html.py Reland "Reland "[test] Creating command before execution phase."" 2017-12-04 13:40:29 +00:00
plot-timer-events [tools] Move common arguments processing into separate file 2017-10-24 00:25:04 +00:00
predictable_wrapper.py [test] Increase timeout for tests run by predictable_wrapper.py. 2018-03-14 09:09:22 +00:00
presubmit.py [debug] liveedit in native 2018-07-03 00:44:50 +00:00
profile_view.js
profile.js [profiler] Add script name to v8.log with --log-source-code. 2017-08-10 04:43:43 +00:00
run_perf.py Reland "[tools] Add benchmark owners to the config" 2018-05-16 13:53:49 +00:00
run-llprof.sh
run-num-fuzzer.py [test] Implement gc fuzzer with test processors 2018-01-19 16:58:49 +00:00
run-perf.sh
run-tests.py TestRunner initial refactor 2017-10-13 08:52:28 +00:00
run-tests.py.vpython [tools] Add vpython config for run-tests.py 2018-06-20 11:27:39 +00:00
run.py
shell-utils.h
SourceMap.js
splaytree.js
stats-viewer.py Fix common misspellings 2017-08-02 09:35:28 +00:00
tick-processor.html [tools] Move common arguments processing into separate file 2017-10-24 00:25:04 +00:00
tickprocessor-driver.js [tools] Add options to separate more entries in tickprocessor 2017-04-11 10:23:02 +00:00
tickprocessor.js [log] Improve log parsing 2018-06-20 13:40:22 +00:00
trace-maps-processor.py
try_perf.py [infra] Add web-tooling-benchmark to tools/try_perf.py 2018-05-17 13:56:42 +00:00
turbolizer-perf.py
v8heapconst.py [objects] Add instance types for hash tables 2018-07-02 09:27:38 +00:00
whitespace.txt [tools] Whitespace CL 2018-06-28 17:11:46 +00:00
windows-tick-processor.bat [tools] Move common arguments processing into separate file 2017-10-24 00:25:04 +00:00