Commit Graph

14268 Commits

Author SHA1 Message Date
jochen@chromium.org
e84e2abde2 Roll gyp 1685:1806
Too many updates to summarize them here.

BUG=none
LOG=n
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 13:36:50 +00:00
jkummerow@chromium.org
315b0c6a30 Delete unused TypeInfo class
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 13:33:20 +00:00
titzer@chromium.org
be32761a67 Improve load elimination handling of transitioning stores.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 12:12:41 +00:00
rossberg@chromium.org
b882bddcfd Make a strict function's "name" property non-writable.
Set [[Writable]] to false for the "name" property of strict
functions as well, mirroring what non-strict functions have
it as.

LOG=N
R=rossberg@chromium.org
TEST=mjsunit/regress/regress-270142
BUG=270142

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

Patch from Sigbjorn Finne <sigbjornf@opera.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 12:06:11 +00:00
hpayer@chromium.org
f583b73b70 Revert "Remove flag track-allocation-sites."
This reverts commit 6c430da40efe388035504d3603756aa8c46ed1dc.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 12:04:34 +00:00
mvstanton@chromium.org
e654c88fab Remove flag track-allocation-sites.
The flag has been on in the build for ~9 months, and we aren't likely to turn it off. The only customer of the flag is a set of tests that want to verify transitioning behavior in isolation. This CL removes the flag and updates those tests to get what they want without the flag.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 11:46:31 +00:00
svenpanne@chromium.org
e595dc0368 Revert "More API cleanup."
This reverts r18383. The CL in itself is OK, we just have to wait until Chrome's commit queue lands the final corresponding change and re-land this CL. :-/

TBR=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 11:35:53 +00:00
svenpanne@chromium.org
d54a4e6d40 More API cleanup.
* Removed String::Empty, Number::New, Integer::New, Integer::NewFromUnsigned, FunctionTemplate::New and Object::New without Isolate* parameter.

* Removed Integer::New and Integer::NewUnsigned with weird argument order.

Chrome CLs matching this change are prepared, BTW.

LOG=y
BUG=324225
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 10:49:27 +00:00
jochen@chromium.org
fdbf271b78 Always terminate the task queue
BUG=none
LOG=n
TBR=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 09:09:04 +00:00
jochen@chromium.org
1b93245a76 Lazily initialize thread pool to avoid allocating all the threads during startup
R=hpayer@chromium.org
BUG=none
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 08:34:42 +00:00
jochen@chromium.org
e6ef64c590 [platform] Implement a worker pool
We don't use the worker pool yet, however, there are tests. Yay. The
next step is to use the worker pool for parallel sweeping.

I've also started to move the platform related files into a sub
directory. The goal is to eventually build all the platform stuff as
a separate library which is used by d8 and cctest (and other embedders
that wish to use the default implementation) but not by chromium.

BUG=v8:3015
R=hpayer@chromium.org, svenpanne@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 07:52:58 +00:00
yurys@chromium.org
0dbbedc344 Fix number of parameters passed into PrepareCallCFunction in code age stubs
In r16710 Additional parameter (Isolate) was added to parameter lists of some native functions called from the generated code. However, corresponding PrepareCallCFunction arguments changed only on i32. This CL updates other architectures to match actual value.

BUG=None
LOG=None
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 07:46:02 +00:00
yurys@chromium.org
4b6ada0f55 Avoid SLOW_ASSERT when calling HeapGraphNode::GetChildrenCount
It may occur that GetChildrenCount is called on the node which has no children and stored last in the internal nodes array. In that case HeapEntry::children_arr() would fail when taking address of the element at index children_index_ which is past the last element in the children's array.

BUG=None
LOG=N
R=alph@chromium.org, ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 07:33:22 +00:00
titzer@chromium.org
1f679a58f7 Improve check elimination with branch sensitivity on HCompareObjectEqAndBranch.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 17:42:21 +00:00
vegorov@chromium.org
0b5b395bc1 Try fixing NaCl V8 compilation failure by initializing interrupt_callback_data_.
TBR=dcarney@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 17:09:38 +00:00
vegorov@chromium.org
bc77d4d60a Reland r18363.
Introduce API to temporarily interrupt long running JavaScript code.

It is different from termination API as interrupted JavaScript will continue to execute normally when registered InterruptCallback returns.

  /**
   * Request V8 to interrupt long running JavaScript code and invoke
   * the given |callback| passing the given |data| to it. After |callback|
   * returns control will be returned to the JavaScript code.
   * At any given moment V8 can remember only a single callback for the very
   * last interrupt request.
   * Can be called from another thread without acquiring a |Locker|.
   * Registered |callback| must not reenter interrupted Isolate.
   */
  void RequestInterrupt(InterruptCallback callback, void* data);

  /**
   * Clear interrupt request created by |RequestInterrupt|.
   * Can be called from another thread without acquiring a |Locker|.
   */
  void ClearInterrupt();

Fix Hydrogen SCE pass to avoid eliminating stack guards too aggressively. Only normal JavaScript functions are guaranteed to have stack guard in the prologue. If function is a builtin or has a custom call IC it will lack one.

Changes from r18363:

- includes r18364 to fix compilation errors: removes debugging only code;

- makes interrupiton related tests not threaded, because they rely on having exclusive access to the V8 instance and the fact that they can only interrupt themselves, if they are interrupted from the outside they break;

- changes HasStackCheck predicate used during SCE pass to avoid handles dereference to make SCE compatible with parallel recompilation.

R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 16:45:58 +00:00
jochen@chromium.org
0fea01de4e Use concurrent sweeping instead of parallel sweeping by default.
LOG=n
R=hpayer@chromium.org, mstarzinger@chromium.org
BUG=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 16:04:08 +00:00
hpayer@chromium.org
506a77a7d5 Prepare push to trunk. Now working on version 3.24.6.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 16:02:43 +00:00
jkummerow@chromium.org
3c76ecd732 Fix switch statements with non-Smi integer labels and no type feedback
BUG=chromium:329709
LOG=Y
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 14:25:58 +00:00
mvstanton@chromium.org
1dd19c450a Pretty printing for array code stubs. The minor keys encode things like specialized ElementsKind for each stub. This can be useful to see in disassembly traces.
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 22:51:23 +00:00
mvstanton@chromium.org
3c7aae759b Pretenure mode was erroneously consulted in FastCloneShallowObjectStub.
FastCloneShallowObjectStub is only called from full code. When the code
is optimized, then we'll inline the cloning and respect pretenure mode.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 22:43:56 +00:00
hpayer@chromium.org
7305592638 Use an allocation site scratchpad to speed up allocaton site processing during gc.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 21:23:56 +00:00
hpayer@chromium.org
9c8d625422 Generalize AllocationMemento::FindForHeapObject and remove corresponding new space check.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 20:08:54 +00:00
vegorov@chromium.org
dd8a793962 Revert "Introduce API to temporarily interrupt long running JavaScript code."
This reverts commit r18363.

Revert "Fix compilation error introduced by r18363."

This reverts commit r18364.

Changes in SCE pass are incompatible with parallel compilation

TBR=dcarney@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 19:21:27 +00:00
vegorov@chromium.org
cd045f473e Fix compilation error introduced by r18363.
Remove debugging related code.

TBR=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 19:01:02 +00:00
vegorov@chromium.org
64d2dfa232 Introduce API to temporarily interrupt long running JavaScript code.
It is different from termination API as interrupted JavaScript will continue to execute normally when registered InterruptCallback returns.

  /**
   * Request V8 to interrupt long running JavaScript code and invoke
   * the given |callback| passing the given |data| to it. After |callback|
   * returns control will be returned to the JavaScript code.
   * At any given moment V8 can remember only a single callback for the very
   * last interrupt request.
   * Can be called from another thread without acquiring a |Locker|.
   * Registered |callback| must not reenter interrupted Isolate.
   */
  void RequestInterrupt(InterruptCallback callback, void* data);

  /**
   * Clear interrupt request created by |RequestInterrupt|.
   * Can be called from another thread without acquiring a |Locker|.
   */
  void ClearInterrupt();

Fix Hydrogen SCE pass to avoid eliminating stack guards too aggressively. Only normal JavaScript functions are guaranteed to have stack guard in the prologue. If function is a builtin or has a custom call IC it will lack one.

BUG=
R=danno@chromium.org, dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 18:38:35 +00:00
ishell@chromium.org
e3752b63c0 HStoreKeyed for Smis optimized for x64 + related redundant moves of elements removed
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 18:05:10 +00:00
palfia@homejinni.com
1b79ef17a0 MIPS: Enable optimization of functions with generic switches.
Port r18347 (64ac25c)

Fix of r18351

BUG=
R=hpayer@chromium.org

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 17:56:30 +00:00
ishell@chromium.org
8c159ed4ec HStoreNamedField for Smis optimized for x64
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 17:53:50 +00:00
ishell@chromium.org
c8583b59dc HLoadKeyed for Smis optimized for x64
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 17:40:53 +00:00
ishell@chromium.org
99ded7d2e1 --predictable mode added
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 17:31:12 +00:00
danno@chromium.org
8683920e3f Improve ==/=== comparison in Hydrogen for monomorphic maps
R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 17:18:23 +00:00
hpayer@chromium.org
b0f8644699 Use constant 0 instead of constant null when clearing map words during allocation folding.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 17:16:25 +00:00
hpayer@chromium.org
baae15b644 Prepare push to trunk. Now working on version 3.24.5.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 16:20:59 +00:00
verwaest@chromium.org
e2bccd99c4 Bump codesize limit for OSR.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 16:17:42 +00:00
hpayer@chromium.org
53057bd52e Fix MIPS switch statement breakage.
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 15:31:41 +00:00
svenpanne@chromium.org
b6c3701aea Handle Math.log(NaN) correctly in Crankshaft on Intel platforms.
This never worked...

TBR=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 13:31:16 +00:00
svenpanne@chromium.org
6d94e94585 Improve the fix for r18344.
Our toolchains differ in mysterious ways, especially regarding
overloading resolution, templates, etc. :-P This fix avoids a
call/return just for resolution and uses a static_cast instead.

R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 12:09:14 +00:00
jkummerow@chromium.org
59c334ebf4 Hydrogen: Re-use regular comparisons infrastructure for switch statements
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 11:58:58 +00:00
verwaest@chromium.org
fb7218dc3d Enable optimization of functions with generic switches.
R=jkummerow@chromium.org, titzer@chromium.org

Review URL: https://chromiumcodereview.appspot.com/110123002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 11:44:38 +00:00
svenpanne@chromium.org
b01b6dc2cf Fixed Windows build (hopefully).
TBR=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 11:27:18 +00:00
jkummerow@chromium.org
4418884cac Fix build after r18344
"log" is an overloaded function, it cannot be resolved without explicit parameter type information

TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 11:08:10 +00:00
svenpanne@chromium.org
84aa5263f3 Remove the last remnants of the TranscendentalCache.
It was only used for Math.log, and even then only in full code and in %_MathLog. For crankshafted code, Intel already used the FP operations directly, while the ARM/MIPS ports were a bit lazy and simply called the stub. The latter directly call the C library now without any cache. It would be possible to directly generate machine code if somebody has the time, from what I've seen out in the wild it should be only about a dozen instructions.

LOG=y
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 10:40:26 +00:00
yangguo@chromium.org
37d5abc939 Collect type information based on stack allocated values for OSR.
R=jkummerow@chromium.org, rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 10:38:58 +00:00
svenpanne@chromium.org
389ee8d59b Removed internal uses of (almost) deprecated FunctionTemplate::New version.
LOG=y
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 10:31:42 +00:00
hpayer@chromium.org
7be4945c2b Removed unused ShouldTrackAllocationInfo method.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 10:30:31 +00:00
yurys@chromium.org
bdb77d24a1 Fix Linux shared compilation after r18337
BUG=chromium:327298
LOG=N
TBR=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 09:52:37 +00:00
yurys@chromium.org
75318a2bb7 Fix debug compilation after r18337
BUG=chromium:327298
LOG=N
TBR=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 09:12:31 +00:00
yurys@chromium.org
19b6b7ada8 Delete several deprecated methods on v8::CpuProfiler
All methods for accessing collected profiles by index are deprecated. The indexed storage may well be implemented by the embedder should he need it. CpuProfiler's responsibility is just to create CpuProfile object that contains all collected data and whose lifetime can be managed by the embedder.

BUG=chromium:327298
LOG=Y
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 08:59:09 +00:00
jochen@chromium.org
815a729878 Roll ICU 214189:239289
Too many updates to summarize them here.

This version of ICU allows for using a .dat file on posix systems that is mmaped
instead of compiling the data in like we currently do.

BUG=72633
LOG=n
R=jshin@chromium.org, machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 08:47:12 +00:00