v8/include
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
..
libplatform Add an API to pump the message loop to libplatform 2014-07-03 09:33:36 +00:00
v8-debug.h Introduce debug events for Microtask queue. 2014-07-03 15:56:01 +00:00
v8-platform.h Don't even include v8.h from libbase or libplatform 2014-07-03 08:50:52 +00:00
v8-profiler.h Add support for ES6 Symbol in heap profiler 2014-05-22 11:26:48 +00:00
v8-testing.h Bulk update of Google copyright headers in source files. 2014-04-29 06:42:26 +00:00
v8-util.h Make presubmit script happy again. 2014-06-10 09:24:00 +00:00
v8.h Change ScriptCompiler::CompileOptions to allow for two 'cache' modes 2014-07-16 12:18:33 +00:00
v8config.h Bulk update of Google copyright headers in source files. 2014-04-29 06:42:26 +00:00
v8stdint.h Bulk update of Google copyright headers in source files. 2014-04-29 06:42:26 +00:00