v8/tools
vogelheim@chromium.org a42612b4a7 Change ScriptCompiler::CompileOptions to allow for two 'cache' modes
(parser or code) and to be explicit about cache consumption or production
(rather than making presence of cached_data imply one or the other.)

Also add a --cache flag to d8, to allow testing the functionality.

-----------------------------
API change

Reason: Currently, V8 supports a 'parser cache' for repeatedly executing the same script. We'd like to add a 2nd mode that would cache code, and would like to let the embedder decide which mode they chose (if any).

Note: Previously, the 'use cached data' property was implied by the presence of the cached data itself. (That is, kNoCompileOptions and source->cached_data != NULL.) That is no longer sufficient, since the presence of data is no longer sufficient to determine /which kind/ of data is present.

Changes from old behaviour:

- If you previously didn't use caching, nothing changes.
Example:
  v8::CompileUnbound(isolate, source, kNoCompileOptions);

- If you previously used caching, it worked like this:

  - 1st run:
  v8::CompileUnbound(isolate, source, kProduceToCache);
  Then, source->cached_data would contain the
  data-to-be cached. This remains the same, except you
  need to tell V8 which type of data you want.
  v8::CompileUnbound(isolate, source, kProduceParserCache);

  - 2nd run:
  v8::CompileUnbound(isolate, source, kNoCompileOptions);
  with source->cached_data set to the data you received in
  the first run. This will now ignore the cached data, and
  you need to explicitly tell V8 to use it:
  v8::CompileUnbound(isolate, source, kConsumeParserCache);
-----------------------------

BUG=
R=marja@chromium.org, yangguo@chromium.org

Review URL: https://codereview.chromium.org/389573006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 12:18:33 +00:00
..
blink_tests Move JSON-stringify webkit test to V8. 2014-04-25 12:49:55 +00:00
gcmole Update include paths for gcmole 2014-06-03 11:01:35 +00:00
generate_shim_headers Add dependency to ICU 4.6 2013-07-01 08:32:41 +00:00
gyp Introduce a PrototypeIterator class and use it for prototype access 2014-07-14 07:19:49 +00:00
oom_dump Always include debugger support. 2014-04-25 11:00:37 +00:00
perf_tests Update performance baseline to newest chromium LKGR. 2013-07-04 07:32:57 +00:00
profviz IC misses should not count towards execution pauses in plots. 2014-06-18 11:05:31 +00:00
push-to-trunk Add script to bump up version on bleeding edge. 2014-07-16 07:57:13 +00:00
sodium Add tool to visualize machine code/lithium. 2013-10-21 13:35:48 +00:00
testrunner Only compare allocation output in predictable mode. 2014-07-10 09:48:31 +00:00
unittests Allow benchmarks to provide the standard deviation. 2014-07-16 08:53:46 +00:00
v8.xcodeproj Add support for building Xcode project files from GYP files 2011-06-09 09:07:17 +00:00
visual_studio Remove the Visual Studio project files 2011-05-02 13:43:13 +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 Fix Android V8 path for testing on devices. 2013-06-28 07:31:23 +00:00
android-sync.sh Remove obsolete preparser binary. 2013-10-04 16:21:23 +00:00
bash-completion.sh Make tools/bash-completion.sh robust against arbitrary CWD 2014-02-18 09:12:11 +00:00
check-static-initializers.sh Reland^3 r22105 "Remove static initializer from isolate" 2014-07-07 10:56:36 +00:00
codemap.js Eliminate the need for code delete events in CPU profiler. 2011-09-14 11:47:03 +00:00
concatenate-files.py Support external startup data in V8. 2014-06-23 13:52:17 +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
cross_build_gcc.sh Fix tools/cross_build_gcc.sh. 2014-02-20 16:37:40 +00:00
csvparser.js Shorten constructor names in JS tickprocessor. 2011-02-10 07:47:28 +00:00
DEPS Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
disasm.py ARM64: Enable low level profiling. 2014-06-24 12:40:20 +00:00
draw_instruction_graph.sh Rename A64 port to ARM64 port 2014-03-21 09:28:26 +00:00
freebsd-tick-processor * Fix build errors on FreeBSD 8.2 2011-03-16 11:15:43 +00:00
fuzz-harness.sh Make timestamp of fuzz harness archives finer grained. 2014-06-12 18:55:09 +00:00
gc-nvp-trace-processor.py Align tools/gc-nvp-trace-processor.py with --trace-gc-nvp output. 2011-12-15 09:41:28 +00:00
gdb-v8-support.py Added check for trailing whitespaces and corrected existing violations. 2011-09-01 11:28:10 +00:00
gdbinit Fix trailing whitespace in gdbinit file. 2014-07-09 10:55:55 +00:00
gen-postmortem-metadata.py tools: strip whitespace in gen-postmortem-metadata.py 2014-04-02 13:04:08 +00:00
generate-runtime-tests.py Rename [Load/Delete]ContextSlot for consistency after r22379. 2014-07-16 12:03:33 +00:00
generate-ten-powers.scm Fast double-to-ascii conversion. 2010-03-11 14:49:35 +00:00
generate-trig-table.py Use full include paths everywhere 2014-06-03 08:12:43 +00:00
grokdump.py Web page front-end for grokdump. 2014-03-26 15:05:01 +00:00
js2c.py Support external startup data in V8. 2014-06-23 13:52:17 +00:00
jsmin.py Fixing python deprecations. 2012-05-21 10:19:28 +00:00
lexer-shell.cc Buildfix for windows after r22180 2014-07-03 07:57:29 +00:00
lexer-shell.gyp Split out libplatform into a separate libary 2014-07-03 07:37:27 +00:00
linux-tick-processor Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
ll_prof.py ARM64: Enable low level profiling. 2014-06-24 12:40:20 +00:00
logreader.js Fixing presubmit. 2011-09-15 13:20:42 +00:00
mac-nm Fix mac-nm script to support filenames w/spaces 2009-08-13 14:03:12 +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
mingw-generate-makefiles.sh MinGW: Add Cygwin-free Makefile generation script 2013-04-15 08:43:18 +00:00
nacl-run.py A helper script for testing Native Client builds of V8. 2013-04-09 08:31:17 +00:00
parser-shell.cc Change ScriptCompiler::CompileOptions to allow for two 'cache' modes 2014-07-16 12:18:33 +00:00
plot-timer-events Fix bug in tools/plot-timer-events 2014-06-06 08:15:05 +00:00
presubmit.py Check alpha-sorting of includes during presubmit. 2014-06-20 08:40:11 +00:00
process-heap-prof.py Added check for trailing whitespaces and corrected existing violations. 2011-09-01 11:28:10 +00:00
profile_view.js Shorten constructor names in JS tickprocessor. 2011-02-10 07:47:28 +00:00
profile.js Revert accidental r9229 and r9230 2011-09-12 10:50:40 +00:00
run_benchmarks.py Properly escape benchmark names when retrieving results. 2014-07-16 09:54:34 +00:00
run-deopt-fuzzer.py Add predictable mode to test driver. 2014-07-08 15:59:23 +00:00
run-llprof.sh llprof improvements 2012-12-07 12:51:33 +00:00
run-tests.py Add mips64 port. 2014-07-09 11:08:26 +00:00
run-valgrind.py Unify the shebang line of python scripts 2013-01-29 10:40:43 +00:00
run.py First cut at run_mksnapshot action for gn 2014-06-03 06:50:46 +00:00
shell-utils.h Add parser-shell. 2014-03-24 14:43:41 +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 tools/stats-viewer: Update chromium stats table layout. 2011-05-25 16:47:54 +00:00
test-push-to-trunk.sh Add test for push-to-trunk script. 2013-10-22 06:59:35 +00:00
test-server.py Change deprecated comments that still talk about SCons. 2013-04-23 08:58:23 +00:00
tick-processor.html Add HTML-based tick processor 2012-12-12 15:06:50 +00:00
tickprocessor-driver.js Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
tickprocessor.js Make sure files end with exactly one new line and police this in presubmit. 2013-11-22 13:50:39 +00:00
v8-info.sh Add sample usage / output and -u option 2013-06-12 15:36:11 +00:00
v8-rolls.sh Adding useful scripts to parse revision info. 2013-06-12 10:39:52 +00:00
v8heapconst.py Updated constants. 2014-03-11 11:56:04 +00:00
v8heapconst.py.tmpl Generate grokdump constants with 'make grokdump' now. 2013-08-02 09:02:02 +00:00
whitespace.txt Whitespace change to trigger bots. 2014-07-14 09:27:07 +00:00
windows-tick-processor.bat Add source map support to tick processor. 2013-08-23 17:20:54 +00:00