v8/tools
Benedikt Meurer beebb2360f [cleanup] Cleanup JSArrayBuffer and TurboFan's handling of neutering.
Cleanup the JSArrayBuffer bit fields to use the proper object macros
that are now otherwise used consistently across the code base. Also
change TurboFan to consistently bailout when it sees an array buffer
that was previously neutered, so that the generic path / builtins are
again the chokepoints for the spec violations (the fact that we don't
always raise exceptions when we see a neutered array buffer), except
for the ArrayBufferView accessor inlining in the JSCallReducer, where
we still turn the values into zero (because we don't have access to
a CALL_IC speculation guard in the common case).

This also removes the ArrayBufferWasNeutered simplified operator, and
does regular LoadField + Number bitwise operations instead, which is
good enough and allows us to get rid of a lot of unnecessary complexity.

Bug: v8:4153, v8:7881, v8:8015, v8:8171, v8:8178
Change-Id: I4ce79ece762c632e6318f2ab7bcc6b2f82383947
Reviewed-on: https://chromium-review.googlesource.com/1226887
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55958}
2018-09-17 13:08:03 +00:00
..
blink_tests [test] Skip some layout tests on V8 side 2018-08-31 16:17:14 +00:00
cfi [CFI] Expand blacklisted entries 2018-04-11 09:00:31 +00:00
clusterfuzz [foozzie] Move --suppress-asm-messages flag to FLAGS 2018-07-19 10:39:37 +00:00
dev [gm] Set v8_enable_fast_mksnapshot by default 2018-06-29 09:30:16 +00:00
gcmole Revert GC scheduling for external backing stores 2018-08-30 14:24:38 +00:00
generate_shim_headers Add dependency to ICU 4.6 2013-07-01 08:32:41 +00:00
heap-stats Rename ShortExternalString to UncachedExternalString. 2018-08-27 16:54:03 +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 Use gn from PATH on aix 2018-08-09 21:01:15 +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 Update V8 DEPS. 2018-09-13 09:16:36 +00:00
perf [tools] Refactor patch/no-patch terminology in run_perf.py 2017-11-22 07:19:50 +00:00
profview profview: View source code of functions with samples inline. 2018-08-31 11:32:33 +00:00
profviz [log] Improve log parsing 2018-06-20 13:40:22 +00:00
release [release] Fix branch creator after private CLs were disabled 2018-08-27 14:48:15 +00:00
sanitizers [test] Suppress TSAN failure in ICU 2018-08-31 16:14:27 +00:00
sodium Add tool to visualize machine code/lithium. 2013-10-21 13:35:48 +00:00
testrunner [tools] Print command output on timeout 2018-09-12 15:38:39 +00:00
toolchain [build] Add support for the other MIPS architectures 2018-03-19 10:43:07 +00:00
torque [torque] Update vscode extension to reflect recent changes 2018-09-13 09:05:00 +00:00
turbolizer [turbolizer] Fix formatting in readme file 2018-09-14 13:24:49 +00:00
ubsan [build] Add ubsan blacklist file 2018-06-19 10:46:53 +00:00
unittests Reland "[test] Increase coverage of d8_default test suites" 2018-09-07 07:53:29 +00:00
v8.xcodeproj Add support for building Xcode project files from GYP files 2011-06-09 09:07:17 +00:00
valgrind/asan [build] Add testrunner data deps 2018-03-26 12:17:08 +00:00
vim [ycm] The YouCompleteMe configuration is not VIM specific. 2015-02-12 07:21:13 +00:00
visual_studio Remove the Visual Studio project files 2011-05-02 13:43:13 +00:00
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 Rewrite Makefile rules for Android to allow parallel execution 2012-07-27 11:14:44 +00:00
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 Bug fix: android-run.py 2016-07-18 09:45:23 +00:00
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
avg.py [tools] Add an averaging script 2018-07-09 14:45:42 +00:00
bash-completion.sh [tools] Fix tools/bash-completion.sh for bool flags and harmony features 2015-12-10 10:01:39 +00:00
bigint-tester.py [bigint] Remove BigInt.parseInt 2018-01-26 02:51:58 +00:00
BUILD.gn Use absolute paths in Android section in tools/BUILD.gn. 2018-08-28 08:23:38 +00:00
callstats.html [RCS / TurboFan] Enable basic off-thread RCS for Concurrent Optimization. 2018-09-07 10:02:27 +00:00
callstats.py [RCS / TurboFan] Enable basic off-thread RCS for Concurrent Optimization. 2018-09-07 10:02:27 +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 Reland^3 r22105 "Remove static initializer from isolate" 2014-07-07 10:56:36 +00:00
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 Add more exhaustive tests for Math.min and Math.max. 2015-04-10 12:35:16 +00:00
concatenate-files.py Fix common misspellings 2017-08-02 09:35:28 +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
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 [tools] Move common arguments processing into separate file 2017-10-24 00:25:04 +00:00
dumpcpp-driver.js [prof] Add slide offset in dumpcpp script 2016-05-30 08:56:59 +00:00
dumpcpp.js [log] Improve log parsing 2018-06-20 13:40:22 +00:00
eval_gc_nvp.py [tools] Compute percentiles for GC NVP 2016-04-08 12:05:59 +00:00
eval_gc_time.sh [in-place weak refs] Remove WeakCell 2018-08-14 08:05:05 +00:00
find_depot_tools.py Prototype for a client-side performance trybot script. 2014-11-18 14:40:00 +00:00
find-commit-for-patch.py Add tools/find-commit-for-patch.py 2014-12-16 14:25:00 +00:00
freebsd-tick-processor * Fix build errors on FreeBSD 8.2 2011-03-16 11:15:43 +00:00
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 [tools] Add gc-nvp-to-csv.py script. 2015-06-19 10:40:47 +00:00
gc-nvp-trace-processor.py [tools] Add gc-nvp-to-csv.py script. 2015-06-19 10:40:47 +00:00
gdb-v8-support.py [tools] Add redirect gdb helper 2017-11-24 16:55:16 +00:00
gdbinit [gdb] Move stack frame up to frame above V8_Fatal 2018-08-21 12:32:03 +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 [cleanup] Cleanup JSArrayBuffer and TurboFan's handling of neutering. 2018-09-17 13:08:03 +00:00
generate-builtins-tests.py Add a script that can generate simple test cases for user-exposed JS builtins 2014-09-11 09:58:58 +00:00
generate-header-include-checks.py [cleanup] Remove DCHECK from third_party 2018-08-08 10:47:16 +00:00
generate-ten-powers.scm Fast double-to-ascii conversion. 2010-03-11 14:49:35 +00:00
get_landmines.py [build] Prepare removal of gyp-defines from landmine 2018-02-16 23:28:14 +00:00
grokdump.py Rename ShortExternalString to UncachedExternalString. 2018-08-27 16:54:03 +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 Delete dead/debug code in (tick|ic|map)processor.js. 2018-08-16 12:31:02 +00:00
js2c.py Remove initial whitespace & empty lines to decrease JS files size 2017-12-19 00:04:19 +00:00
jsmin.py jsmin.py: Fix issue with escaping of back ticks 2015-06-24 22:29:46 +00:00
linux-tick-processor [tools] Move common arguments processing into separate file 2017-10-24 00:25:04 +00:00
ll_prof.py Fix annotated disassembly in ll_prof.py 2016-04-06 12:38:44 +00:00
lldb_commands.py Reland "Fix and extend lldbinit" 2018-07-13 07:40:19 +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 Implement shared libraries logging on Mac OS X, added required support in Tick Processor. 2009-07-14 05:01:06 +00:00
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 Delete dead/debug code in (tick|ic|map)processor.js. 2018-08-16 12:31:02 +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 Add initial set of sub directory OWNERS file 2015-04-02 08:46:24 +00:00
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 [tools] Improve function event logging and parse processor 2018-07-16 14:05:14 +00:00
parse-processor.js [tools] Improve function event logging and parse processor 2018-07-16 14:05:14 +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 Reland "[test] Add logic to run tests on Android" 2018-08-10 17:56:12 +00:00
presubmit.py Reland "[debug] liveedit in native" 2018-07-03 21:01:57 +00:00
profile_view.js Tick processor: improved [Summary] section 2014-08-04 08:31:49 +00:00
profile.js profview: View source code of functions with samples inline. 2018-08-31 11:32:33 +00:00
run_perf.py [tools] Print command output on timeout 2018-09-12 15:38:39 +00:00
run-clang-tidy.py [tools] Fixed header-filter for clang-tidy diff. 2018-09-14 10:36:11 +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 [tools] run-perf: ensure command line arguments are prepended 2016-10-05 15:15:38 +00:00
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 First cut at run_mksnapshot action for gn 2014-06-03 06:50:46 +00:00
shell-utils.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
SourceMap.js Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
splaytree.js Remove support for logging into a memory buffer. 2011-07-13 11:31:22 +00:00
stats-viewer.py Fix common misspellings 2017-08-02 09:35:28 +00:00
test262-results-parser.js test262 roll 2018-08-28 21:18:23 +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 Delete dead/debug code in (tick|ic|map)processor.js. 2018-08-16 12:31:02 +00:00
trace-maps-processor.py Add FLAG_trace_maps 2014-11-07 16:03:44 +00:00
try_perf.py [tools] Add Nokia One trybot to the try_perf script 2018-09-04 10:08:41 +00:00
turbolizer-perf.py [turbolizer] Fixed naming of turbolizer perf script. 2016-07-28 12:38:00 +00:00
v8heapconst.py [objects] Change String::length field to uint32_t. 2018-09-13 13:07:08 +00:00
whitespace.txt [tools] Whitespace CL 2018-09-02 21:39:54 +00:00
windows-tick-processor.bat [tools] Move common arguments processing into separate file 2017-10-24 00:25:04 +00:00