yangguo@chromium.org
219e763155
Expose the content of Maps and WeakMaps through MapMirror.
...
BUG=v8:3291
LOG=N
R=aandrey@chromium.org , yangguo@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=22452
Review URL: https://codereview.chromium.org/398513005
Patch from Alexandra Mikhaylova <amikhaylova@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 08:07:04 +00:00
paul.lind@imgtec.com
c18a36fd96
MIPS64: Correct register use.
...
TEST: mozilla/js1_5/Regress/regress-366601.
TEST: mozilla/ecma_3/ExecutionContexts/10.1.3-1
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/403993002
Patch from Yu Yin <xwafish@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 03:09:19 +00:00
weiliang.lin@intel.com
02247b18c0
X87: Cache IC handlers on the prototype's map if possible
...
port r22483
original commit message:
Cache IC handlers on the prototype's map if possible
instead of on the receiver's map. Lazily overwrite cached handler if it is
identical to the handler that just missed.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/391423003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 02:57:42 +00:00
verwaest@chromium.org
907086597e
Migrate to current map if deprecated in SetProperty
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/404963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-19 12:00:20 +00:00
balazs.kilvady@imgtec.com
6e824b6003
MIPS: Cache IC handlers on the prototype's map if possible.
...
Port r22483 (6dd09cb)
Original commit message:
Instead of on the receiver's map. Lazily overwrite cached handler if it is
identical to the handler that just missed.
BUG=
R=akos.palfi@imgtec.com
Review URL: https://codereview.chromium.org/404813002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 17:11:52 +00:00
jkummerow@chromium.org
1211f606ae
Cache IC handlers on the prototype's map if possible
...
instead of on the receiver's map. Lazily overwrite cached handler if it is
identical to the handler that just missed.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/400523007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:50:21 +00:00
verwaest@chromium.org
7e29b64e27
Reimplement SetProperty using the LookupIterator
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/392243002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:47:25 +00:00
mstarzinger@chromium.org
9d2609fe98
Reland "Make v8::TryCatch able to consume natively thrown exceptions."
...
R=svenpanne@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N
Review URL: https://codereview.chromium.org/399473006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:28:12 +00:00
hpayer@chromium.org
56fcbc4d65
Always sweep precisely off.
...
BUG=
Review URL: https://codereview.chromium.org/400663003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:51:21 +00:00
machenbach@chromium.org
d9fa8f77e8
Add automatic tag script.
...
The script can be run in a cron job to automatically tag
lkgrs.
BUG=391261
LOG=n
TEST=tools/push-to-trunk/script_test.py
TEST=tools/push-to-trunk/auto_tag.py --dry_run
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/400693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:16:14 +00:00
hpayer@chromium.org
4c136e0baa
Always sweep precisely.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/394023007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:04:48 +00:00
hpayer@chromium.org
cb52b98637
Wait for sweeper threads when verifying the heap.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/396793005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:00:11 +00:00
dcarney@chromium.org
353ab8e1be
Revert "Bootstrapper::DetachGlobal also need to unset global_proxy's constructor to remove all refs to context"
...
This reverts r22460 for potentially breaking the mac webkit build.
TBR=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/401813002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:47:35 +00:00
rmcilroy@chromium.org
fb3128f3f8
Really fix the arm builder bots by copying android_webview_build out one scope in toolchain.gypi
...
Move android_webview_build variable to toolchain.gypi to fix arm builders.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/398643006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:36:40 +00:00
hpayer@chromium.org
1afdbb396c
Fix 64-bit compile.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/397373006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:30:50 +00:00
hpayer@chromium.org
6067ca6a62
Concurrent/parallel precise sweeping.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/398333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:04:20 +00:00
rmcilroy@chromium.org
d09d81f977
Move android_webview_build variable to toolchain.gypi to fix arm builders.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/392033005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 10:54:33 +00:00
rmcilroy@chromium.org
9d5bd59204
Fix the android_webview build's gyp files after the changes in r22444.
...
The android_webview get's it's compiler flags from the Android build system,
so we should not be setting these flags in gyp when building the webview.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/399413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 10:17:01 +00:00
Jacob.Bramley@arm.com
38cb7830aa
Unravel kHeapObjectTagSize from the stub cache.
...
The stub cache used kHeapObjectTagSize to scale indices, but there
doesn't appear to be a direct need for this. Instead, the stub cache has
its own kCacheIndexShift quantity.
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/401613003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 09:57:39 +00:00
ernstm@chromium.org
de8cac4450
Make GCTracer persistent.
...
This is essentially https://codereview.chromium.org/390823003/ . It turns
out that it's safe to use a persistent GCTracer instead
of creating and destroying GCTracers for each GC, because
Scavenge and Mark-Sweep steps never overlap, and the tracking of
incremental marking also happens separately for the two types of GC.
Tracking of incremental marking will be moved into the GCTracer in a
follow-up patch.
R=hpayer@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/403543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 08:55:40 +00:00
machenbach@chromium.org
c4bee92ff1
[Auto-roll] Bump up version to 3.28.29.0
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/400913003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 08:43:49 +00:00
jochen@chromium.org
4e94ae8ab4
Add histograms for idle notification and incremental marking steps
...
BUG=381820
LOG=n
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/401793002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 08:25:41 +00:00
jochen@chromium.org
1fd566cb24
Fix compilation after r22461: removed now unused var
...
BUG=none
LOG=n
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/400123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 08:00:51 +00:00
danno@chromium.org
1d2a4b8333
Remove experimental flags that are now required
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/397253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 07:17:21 +00:00
dcarney@chromium.org
c0849f8b5a
Bootstrapper::DetachGlobal also need to unset global_proxy's constructor to remove all refs to context
...
DetachGlobal detaches original context of a global proxy object.
Before this patch, the constructor JSFunction still carried a reference to the old context after |Bootstrapper::DetachGlobal| call.
This patch removes the reference by setting the constructor null.
TEST=http/tests/security/isolatedWorld w/ --enable-leak-detection
LOG=N
BUG=364377
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/397953009
Patch from Kouhei Ueno <kouhei@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 06:05:59 +00:00
weiliang.lin@intel.com
2bb3f96570
X87: StubCallInterfaceDescriptor takes a context register.
...
port r22448
original commit message:
StubCallInterfaceDescriptor and CallInterfaceDescriptor are unified under a base class InterfaceDescriptor.
Handling of the context register had to be massaged to effect the unification. This will make it easier
to call hydrogen code stubs directly from crankshaft.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/399313005
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 03:15:48 +00:00
balazs.kilvady@imgtec.com
6f23f4fe3b
MIPS: StubCallInterfaceDescriptor and CallInterfaceDescriptor are unified under a base class InterfaceDescriptor.
...
Port r22448 (a9e0b0e)
Original commit message:
Handling of the context register had to be massaged to effect the unification. This will make it easier to call hydrogen code stubs directly from crankshaft.
BUG=
R=mvstanton@chromium.org , paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/400743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 18:24:59 +00:00
jochen@chromium.org
b019be29eb
Fix v8 Windows GN build.
...
The paths for some of the Windows-specific files was incorrect.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/402693002
Patch from Brett Wilson <brettw@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 17:39:54 +00:00
yangguo@chromium.org
e3d9037121
Revert "Expose the content of Maps and WeakMaps through MapMirror."
...
This reverts r22452.
TBR=amikhaylova@google.com
Review URL: https://codereview.chromium.org/399963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 16:43:52 +00:00
mstarzinger@chromium.org
fab1adddd9
Remove fuzz-natives blacklist entries that no longer exist.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/393313003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 15:13:46 +00:00
yangguo@chromium.org
4116944ced
Expose the content of Maps and WeakMaps through MapMirror.
...
BUG=v8:3291
LOG=N
R=aandrey@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/398513005
Patch from Alexandra Mikhaylova <amikhaylova@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 15:07:59 +00:00
yangguo@chromium.org
f61b67ce0b
Limit stack size when testing stack overflow in JSON.stringify.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/397073004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 13:23:02 +00:00
ernstm@chromium.org
8451b97b8e
Move node statistics from GCTracer to Heap.
...
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/397953012
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 13:00:46 +00:00
machenbach@chromium.org
43c3390eb2
[Auto-roll] Bump up version to 3.28.27.0
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/399753004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 11:57:09 +00:00
mvstanton@chromium.org
54636ae4e2
StubCallInterfaceDescriptor and CallInterfaceDescriptor are unified under a base class InterfaceDescriptor.
...
Handling of the context register had to be massaged to effect the unification. This will make it easier to call hydrogen code stubs directly from crankshaft.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/384403002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 11:50:04 +00:00
yangguo@chromium.org
f58318ef16
Change String.prototype.concat to be more like similar functions.
...
This is just cosmetic: We usually avoid using %FunctionSetLength.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/400583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 10:54:25 +00:00
rmcilroy@chromium.org
51a6b0fd9d
Add back a static_cast<int32_t> to assembler-arm.cc to fix WebView build.
...
The WebView Mac builder is having trouble with resolving set_at_offset with an
intptr_t argument to the correct overload. Add back the static_cast which
was present before r22293 to resolve this.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/398893003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 10:34:59 +00:00
rmcilroy@chromium.org
1b5848c210
Some fixes to avoid breakages when enabling out-of-line constant pools.
...
Three fixes which are required to pass all the tests when out-of-line constant
pools are enabled for Arm:
- Invalidate embedded objects in optimized code when it is deoptimized such
that the weak pointers in the constant pool array are cleared. This prevents
a CHECK(heap_->mark_compact_collector()->IsMarked(object)) error when a
verifying weak pointers in a deoptimized code object's constant pool.
- Modify LargeObjectSpace::Verify to allow constant pool arrays in the
large object space.
- Increase the 32bit stack size limit, since the constant pool pointer
is now on every stack frame, causing the size of each stack frame to
increase by one word, and causing deep-recursion-test to fail.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/385163005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 10:03:30 +00:00
rmcilroy@chromium.org
e6936f2145
Reland "Remove erroneous uses of CXX / CXX_target / CXX_host from gyp."
...
The current gyp config tries to test whether the compiler is an arm / mips
compiler and whether it supports -m32 / -m64 based on a test within gyp.
Unfortunately CXX / CXX_target / CXX_host are no no longer set early enough
in gyp for this to work, and so all of these tests were actually being done
using "$(which g++)" rather than the appropriate CXX_target / CXX_host compiler.
This change removes these dynamic tests and instead bases the decisions on
knowledge of the host / target / v8_target architecture combination. The
the -m32/-m64 flags are set based on host_cxx_is_biarch / target_cxx_is_biarch,
which are set to reasonable defaults of only ia32/x64 or clang compilers
being build for biarch support. The host_cxx_is_biarch / target_cxx_is_biarch
variables can be overriden if required.
Original Review URL: https://codereview.chromium.org/382343003
TBR=jkummerow@chromium.org
BUG=384474
LOG=NO
Review URL: https://codereview.chromium.org/400573002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 09:56:58 +00:00
rodolph.perfetta@arm.com
56ec59bd26
ARM64: always restore regexp register cache after a C function call.
...
BUG=v8:3444
TEST=mjsunit/regress/regress-regexp-nocase.js
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/392403002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 09:55:48 +00:00
jochen@chromium.org
fe558594b9
Remove JSReceiver::GetPrototype and replace it with PrototypeIterator calls
...
BUG=none
R=verwaest@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/390323002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 09:44:37 +00:00
verwaest@chromium.org
e36f1dde46
Remove hole handling since holes cannot occur in JSObjects anymore.
...
The only case in which the hole can still occur, is in a pre-allocated PropertyCell in a GlobalObject. In that case it indicates that the property is absent.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/389353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 09:06:49 +00:00
yangguo@chromium.org
ce5e9b0261
Go to slow path when JSON.stringifying the global proxy.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/396993004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 08:35:36 +00:00
ernstm@chromium.org
509faa8545
v8: GCTracer clean-up part 1.
...
- Split GCTracer::~GCTracer into printing functions and update of variables
tracked on Heap.
- Clean-up recording of time, object size and memory size at the beginning and
end of GC.
- Consistently use enum notation in ScopeId.
- Disallow copy and assign for Scope and GCTracer.
- Remove unused stats on GCTracer.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/396893004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 07:50:55 +00:00
yangguo@chromium.org
ee9ed36179
Mark test-mark-compact/Promotion as PASS, FAIL on arm64.
...
BUG=v8:3446
LOG=N
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/400533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 06:51:20 +00:00
yangguo@chromium.org
59de1ffbe5
Fix ninja build.
...
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/397463004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 14:59:49 +00:00
yangguo@chromium.org
d1333142e2
Ship ES6 Math functions.
...
R=rossberg@chromium.org
BUG=v8:2938
LOG=Y
Review URL: https://codereview.chromium.org/394833002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 14:00:15 +00:00
yangguo@chromium.org
fea1d2b145
Fix PagedSpace size accounting.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/392163003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 13:36:46 +00:00
ernstm@chromium.org
f3c83ebe0e
v8: fix tracking of longest_step in IncrementalMarking.
...
longest_step is only output at the end of a mark-compact. We shouldn't
reset it after a Scavenge.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/395153003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 13:19:31 +00:00
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