vegorov@chromium.org [Thu, 15 Mar 2012 12:21:29 +0000 (12:21 +0000)]
Improve representation inference for HUnknownOSRValue.
Use corresponding phi from the loop entry as a hint to infer proper representation for HUnkownOSRValue and dependent phis.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9704012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11055
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
pfeldman@chromium.org [Thu, 15 Mar 2012 11:51:26 +0000 (11:51 +0000)]
Debugger: add ability to set script source from within OnBeforeCompile.
Review URL: https://chromiumcodereview.appspot.com/9677043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11054
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 15 Mar 2012 09:52:48 +0000 (09:52 +0000)]
Don't use an explicit s0 in ClampDoubleToUint8.
R=fschneider@chromium.org
BUG=v8:2004
TEST=test/mjsunit/pixel-array-rounding.js
Review URL: https://chromiumcodereview.appspot.com/9702027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11053
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 15 Mar 2012 09:28:49 +0000 (09:28 +0000)]
Fixed breakage caused by r11051 on non-ia32 platforms.
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9703056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11052
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 15 Mar 2012 07:13:46 +0000 (07:13 +0000)]
Ensure that generated code for object literals will call Runtime_DefineOrRedefineAccessorProperty only once per accessor property.
To do this, we collect all accessor properties in a first pass and emit code for
defining those properties afterwards in a second pass.
As a finger exercise, the table used for collecting accessors has a (subset of
an) STL-like iterator interface, including STL-like names and operators.
Although C++ is quite verbose here (as usual, but partly this is caused by our
current slightly clumsy classes/templates), things work out quite nicely and it
cleans up some confusion, e.g. a table entry is not an iterator etc.
Everything compiles into very efficient code, e.g. the loop condition 'it !=
accessor_table.end()' compiles into a single 'testl' instruction on ia32.
+1 for using standard APIs!
Review URL: https://chromiumcodereview.appspot.com/9691040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11051
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 14 Mar 2012 17:42:19 +0000 (17:42 +0000)]
Fix wrapping of receiver for non-strict callbacks.
R=rossberg@chromium.org
BUG=v8:1973
TEST=mjsunit/regress/regress-1973
Review URL: https://chromiumcodereview.appspot.com/9705020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11050
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 14 Mar 2012 17:25:01 +0000 (17:25 +0000)]
Fix --use-strict flag in combination with --harmony[-scoping].
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9706025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11049
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 14 Mar 2012 16:16:46 +0000 (16:16 +0000)]
Remove write barriers for raw smi accessors.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9702026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11048
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 14 Mar 2012 14:52:52 +0000 (14:52 +0000)]
Fix passing of shard options in test wrapper.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9702022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11047
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 14 Mar 2012 14:08:36 +0000 (14:08 +0000)]
Remove unused local variable after r11023.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9699023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11044
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 14 Mar 2012 13:51:00 +0000 (13:51 +0000)]
Function declarations shall not overwrite read-only global properties.
R=mstarzinger@chromium.org
BUG=115452
TEST=mjsunit/regress/regress-115452
Review URL: https://chromiumcodereview.appspot.com/9696035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11043
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 14 Mar 2012 13:21:44 +0000 (13:21 +0000)]
Increase executable size limit.
R=vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9695002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11042
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 14 Mar 2012 12:59:49 +0000 (12:59 +0000)]
Don't take UnkownOSRValues into account when infering Phi's representation.
For DIV with uninitialized result assume double result representation.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9664070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11041
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 14 Mar 2012 11:08:06 +0000 (11:08 +0000)]
Prepare push to trunk. Now working on version 3.9.20.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9703018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11038
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 14 Mar 2012 10:19:37 +0000 (10:19 +0000)]
Avoid implicit bool->int cast in CollectAllGarbage call
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9699016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11037
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 14 Mar 2012 09:45:17 +0000 (09:45 +0000)]
Change --hydrogen-filter to allow specifying a negative filter for optimized functions.
When prepending a '-' to the function name, the function will not be optimized.
--hydrogen-filter=foo works as before.
--hydrogen-filter=-foo means don't optimize foo.
Review URL: https://chromiumcodereview.appspot.com/9691042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11036
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 13 Mar 2012 18:03:00 +0000 (18:03 +0000)]
Fix common.gypi after r11032
TBR=yangguo@chromium.org
TEST=Win Reliability Builder stops complaining
Review URL: https://chromiumcodereview.appspot.com/9693052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11034
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Mar 2012 17:19:24 +0000 (17:19 +0000)]
Fix test.py for Python 2.7.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9695053
Patch from Bert Belder <bertbelder@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11033
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Mar 2012 16:18:30 +0000 (16:18 +0000)]
MIPS: Added support for Loongson architectures.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9692048
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11032
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 13 Mar 2012 15:57:31 +0000 (15:57 +0000)]
Fix "already merging" safety check in merge-to-branch.sh
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9689062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11031
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Mar 2012 15:44:19 +0000 (15:44 +0000)]
Split up String.split to deal with normal separator and regexp separator separately.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9694041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11030
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexeif@chromium.org [Tue, 13 Mar 2012 15:42:26 +0000 (15:42 +0000)]
Store entry id as 32-bit int.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9695046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11029
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 13 Mar 2012 14:45:03 +0000 (14:45 +0000)]
Always create HArgumentsObject on function entry.
We do not know if we are going to need it and creating it lazyly might cause us to insert it at the block that does not dominate all uses.
R=mstarzinger@chromium.org
TEST=mjsunit/compiler/inline-arguments.js
Review URL: https://chromiumcodereview.appspot.com/9692046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11024
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 13 Mar 2012 12:11:46 +0000 (12:11 +0000)]
Implement non-generic stores for object literals.
This uses the type feedback already present for computed value stores
into object literals to generate optimized stores in Crankshaft, thus
avoiding unnecessary generic stores with side effects.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9692036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11023
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 13 Mar 2012 11:39:30 +0000 (11:39 +0000)]
Ensure there is a smi check of the receiver for global load and call ICs.
There was a comment that, for such ICs specialized to the global object,
they were always contextual loads. This is very brittle. It is a
micro-optimization that relies too much on the way that things happen to
work today.
Instead, never omit the smi check because it's safer.
R=vegorov@chromium.org
BUG=117794
TEST=regress-117794.js
Review URL: https://chromiumcodereview.appspot.com/9691038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11022
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Mar 2012 11:38:37 +0000 (11:38 +0000)]
Experimental Profiler: tweak type info threshold.
Also included: simplify String.slice.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9694033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11021
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 13 Mar 2012 11:01:28 +0000 (11:01 +0000)]
Fix DEPS file patching in push-to-trunk.sh
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9693037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11020
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 13 Mar 2012 11:01:07 +0000 (11:01 +0000)]
Add type feedback info type to instance type list macro.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9694032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11019
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Mar 2012 08:07:35 +0000 (08:07 +0000)]
Prepare push to trunk. Now working on version 3.9.19.
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9696030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11016
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Mar 2012 17:15:13 +0000 (17:15 +0000)]
Remove static Mutex from math function intializers.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9662064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11015
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 12 Mar 2012 16:10:53 +0000 (16:10 +0000)]
Use lazy instance initializer to remove static initializers in two places.
Review URL: https://chromiumcodereview.appspot.com/9664067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11014
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 12 Mar 2012 15:26:05 +0000 (15:26 +0000)]
Fix compile warning on 64 bit Windows.
Review URL: https://chromiumcodereview.appspot.com/9690019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11013
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Mar 2012 14:56:04 +0000 (14:56 +0000)]
Ensure consistency of Math.sqrt on Intel platforms.
BUG=
TEST=regress-sqrt.js
Review URL: https://chromiumcodereview.appspot.com/9690010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11012
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 12 Mar 2012 14:41:59 +0000 (14:41 +0000)]
Fix broken build on Win32 due to r11010.
Review URL: https://chromiumcodereview.appspot.com/9666055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11011
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 12 Mar 2012 13:56:56 +0000 (13:56 +0000)]
Landing for pliard@chromium.org: Remove static initializers in v8.
This change includes two CLs by pliard@chromium.org:
1. http://codereview.chromium.org/9447052/ (Add CallOnce() and simple LazyInstance implementation):
Note that this implementation of LazyInstance does not handle global destructors (i.e. the lazy instances are never deleted).
This CL was initially reviewed on codereview.appspot.com:
http://codereview.appspot.com/5687064/
2. http://codereview.chromium.org/9455088/ (Remove static initializers in v8):
This CL depends on CL 9447052 (adding CallOnce and LazyInstance).
It is based on a patch sent by Digit.
With this patch applied, we have only one static initializer left (in atomicops_internals_x86_gcc.cc). This static initializer populates a structure used by x86 atomic operations. It seems that we can hardly remove it. If possible, it will be removed in a next CL.
This CL also modifies the presubmit script to check the number of static initializers.
BUG=v8:1859
Review URL: https://chromiumcodereview.appspot.com/9666052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11010
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 12 Mar 2012 13:18:30 +0000 (13:18 +0000)]
Unbreak Windows build after UTF-16 change (sys/types.h does not define
int32_t on Windows).
Review URL: https://chromiumcodereview.appspot.com/9669051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11009
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 12 Mar 2012 12:49:41 +0000 (12:49 +0000)]
Inline functions that use arguments object in f.apply(o, arguments) pattern.
Support arguments materialization after deoptimization in all frames (not only in topmost one).
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9643001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11008
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 12 Mar 2012 12:35:28 +0000 (12:35 +0000)]
Fix input and output to handle UTF16 surrogate pairs.
Review URL: https://chromiumcodereview.appspot.com/9600009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11007
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 12 Mar 2012 12:17:46 +0000 (12:17 +0000)]
Fix missing initialization of mark-compact flags.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9662056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11006
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 12 Mar 2012 10:35:50 +0000 (10:35 +0000)]
Add explicit dependency on v8_base
This is necessary in order to link v8_shell (for host) with the Android
toolchain.
Without it, the line in the makefile is:
$(builddir)/v8_shell: LD_INPUTS := $(OBJS) $(obj).host/v8/tools/gyp/libv8_snapshot.a $(obj).host/v8/tools/gyp/libv8_base.a
Now it appears as:
$(builddir)/v8_shell: LD_INPUTS := $(OBJS) $(obj).host/v8/tools/gyp/libv8_base.a $(obj).host/v8/tools/gyp/libv8_snapshot.a
and it successfully links.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9668013
Patch from Yaron Friedman <yfriedman@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11005
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Mar 2012 09:39:12 +0000 (09:39 +0000)]
Fix heuristic triggering incremental marking.
This changes the heuristic that starts incremental marking to be based
on a more accurate heap size estimation. Pages being swept lazily can be
accounted using the live bytes counter.
R=mstarzinger@chromium.org
BUG=v8:1682
Review URL: https://chromiumcodereview.appspot.com/9674001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11004
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 12 Mar 2012 08:46:25 +0000 (08:46 +0000)]
MIPS: Port Date-related changes.
Port r10981 (5ea074), r10982 (5f0d413) and r10983 (
663a897d5).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9668045
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11003
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Mar 2012 08:24:10 +0000 (08:24 +0000)]
MIPS: Inline inequality compares of strings into CompareICStub
Port r10988 (
c6c9ebb5).
Original commit message:
Inline inequality compares of strings into CompareICStub instead of jumping into the CompareStub that handles the generic case.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9669026
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11002
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 12 Mar 2012 08:15:43 +0000 (08:15 +0000)]
Prepare push to trunk. Now working on version 3.9.18.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9690004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10999
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Sun, 11 Mar 2012 15:04:50 +0000 (15:04 +0000)]
V8 crashes when profile generator allocates a buffer for HeapEntry'es bigger than 2Gb.
BUG=none
TEST=profile-generator tests
Review URL: https://chromiumcodereview.appspot.com/9632020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10998
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Sun, 11 Mar 2012 07:35:21 +0000 (07:35 +0000)]
Style fix after reapplying the patch r10996.
BUG=none
TEST=none
TBR=mikhail.naganov@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9664042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10997
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Sun, 11 Mar 2012 07:02:19 +0000 (07:02 +0000)]
We have a problem with really big apps. The snapshot for such pages doesn't fit into JS heap on DevTools front-end side. I'd like to move the snapshot's nodes data into Int32Array.
This will reduce the pressure. At this moment it is not possible because the snapshot uses uint64_t for ids.
BUG=none
TEST=profiler-generator tests
Review URL: https://chromiumcodereview.appspot.com/9617006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10996
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Sun, 11 Mar 2012 06:12:10 +0000 (06:12 +0000)]
Revert "We have a problem with really big apps. The snapshot for such pages doesn't fit into JS heap on DevTools front-end side. I'd like to move the snapshot's nodes data into Int32Array."
This reverts commit
8c08ecc2782d5a8c60eb0692ec8f13d6da3cdc58.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9666038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10995
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Sun, 11 Mar 2012 06:00:55 +0000 (06:00 +0000)]
We have a problem with really big apps. The snapshot for such pages doesn't fit into JS heap on DevTools front-end side. I'd like to move the snapshot's nodes data into Int32Array.
This will reduce the pressure. At this moment it is not possible because the snapshot uses uint64_t for ids.
BUG=none
TEST=profiler-generator tests
Review URL: https://chromiumcodereview.appspot.com/9617006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10994
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 9 Mar 2012 22:11:16 +0000 (22:11 +0000)]
Fixed VFP detection through compiler defines.
BUG=http://code.google.com/p/v8/issues/detail?id=1996
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9669003
Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10993
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 9 Mar 2012 17:55:54 +0000 (17:55 +0000)]
Profiler experiments: update flag default values.
This doesn't enable the experimental profiler by default, it just tunes its behavior when it is enabled.
Review URL: https://chromiumcodereview.appspot.com/9668009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10992
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 9 Mar 2012 16:23:06 +0000 (16:23 +0000)]
Profiler experiments: merge self-optimization code into interrupt-at-exit
Review URL: https://chromiumcodereview.appspot.com/9633012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10991
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 9 Mar 2012 14:53:02 +0000 (14:53 +0000)]
Fix presubmit problem with elements template macro
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9665002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10990
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 9 Mar 2012 13:48:29 +0000 (13:48 +0000)]
Implement efficient element copying in ElementsAccessors.
Review URL: https://chromiumcodereview.appspot.com/9638014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10989
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 9 Mar 2012 13:12:59 +0000 (13:12 +0000)]
Inline inequality compares of strings into CompareICStub instead of jumping into the CompareStub that handles the generic case.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9649027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10988
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 9 Mar 2012 13:01:32 +0000 (13:01 +0000)]
Fix compile errors on Windows introduced by r10983.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9652030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10987
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 9 Mar 2012 12:34:42 +0000 (12:34 +0000)]
Add Code-related fields to postmortem metadata
Review URL: https://chromiumcodereview.appspot.com/9361008
Patch from David Pacheco <dap@joyent.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10986
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 9 Mar 2012 12:30:04 +0000 (12:30 +0000)]
MIPS: Introduce basic type feedback for for-in statements to avoid deopts.
Port r10901 (a54f1a3).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9586004
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10985
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 9 Mar 2012 12:08:05 +0000 (12:08 +0000)]
Fix warning.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9655025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10984
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 9 Mar 2012 12:07:29 +0000 (12:07 +0000)]
Implement date library functions in C++.
Developed together with Andreas Rossberg based on:
https://chromiumcodereview.appspot.com/9117034/
https://chromiumcodereview.appspot.com/9307083/
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9572008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10983
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 9 Mar 2012 11:19:55 +0000 (11:19 +0000)]
Implement caching scheme for Date fields.
This is based on https://chromiumcodereview.appspot.com/9117034/
Doesn't have much impact on its own, but is the basis for Ulan's CL https://chromiumcodereview.appspot.com/9117034/, which moves the logic to C++.
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9307083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10982
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 9 Mar 2012 11:11:55 +0000 (11:11 +0000)]
New class for Date objects: caches individual date components.
First step, cache slots not used yet.
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9117034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10981
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 9 Mar 2012 10:39:45 +0000 (10:39 +0000)]
Prepare push to trunk. Now working on version 3.9.17.
Review URL: https://chromiumcodereview.appspot.com/9652028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10978
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 9 Mar 2012 10:20:42 +0000 (10:20 +0000)]
Add clobber list to arm inline asm.
While enabling "-fstack-protector", compiler generates code in
function prologue and epilogue to do stack check. However, without
knowing that 'r1', 'r2' and 'r3' is used/destroyed in inline asm,
compiler assumes that 'r1', 'r2', or 'r3' can be used exclusively,
which leads to a core dump.
Fix to this is quite straightforward, just add clobber list to the
inlineasm.
BUG=None
TEST=manually checked the generated asm code,boot up chrome browser successfully with this modification
Review URL: https://chromiumcodereview.appspot.com/9618017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10977
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 9 Mar 2012 10:16:00 +0000 (10:16 +0000)]
Refactored push-to-trunk.sh and merge-to-branch.sh.
Moved common code into tools/common-includes.sh.
Added automated rolling of V8 into Chromium to push-to-trunk.sh.
Review URL: https://chromiumcodereview.appspot.com/9463041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10976
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 9 Mar 2012 09:51:34 +0000 (09:51 +0000)]
Simplify V8::FillHeapNumberWithRandom.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9592047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10975
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 9 Mar 2012 09:04:39 +0000 (09:04 +0000)]
Revert r10435 and r10923 because of failures.
r10435 CL: http://codereview.chromium.org/9195005
r10923 CL: https://chromiumcodereview.appspot.com/9601010
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9653025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10974
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 9 Mar 2012 08:34:35 +0000 (08:34 +0000)]
Added support functions for using Literal keys in a HashMap.
This is a preparatory step for using the HashMap clas with Literal keys in the
full code generator. It removes some duplicated code already and removes the
need for 2 HashMaps at each use, which was overly complicated.
Removed one dead function on the way.
Review URL: https://chromiumcodereview.appspot.com/9639011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10973
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 8 Mar 2012 18:27:39 +0000 (18:27 +0000)]
Fix signed / unsigned warnings for ?: operators reported by Xcode 4.x clang compiler.
The patch is based on the report provided by github user Zakay.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9592030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10970
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 8 Mar 2012 16:38:44 +0000 (16:38 +0000)]
Fix minifier to distinguish regexps from divisions (to some extent).
Rrraaa, I have to say, doing program rewriting via regexp rules is an inherently broken idea...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9644001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10969
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 8 Mar 2012 15:46:23 +0000 (15:46 +0000)]
Fix a bug in the x64 elements transition code.
1. The write barrier (RecordWriteStub) expects that pointer stored
points to an initialized object. Specifically, the map must be set
before it is stored.
2. The backing store for smi-only elements can only be reused for
double elements if it is in new-space. Otherwise, we need to allocate
a fresh one because the old one is in pointer-space and the new one
has to be in data-space.
BUG=117037
Review URL: https://chromiumcodereview.appspot.com/9633017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10968
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 8 Mar 2012 13:30:10 +0000 (13:30 +0000)]
Fix syntactical issue in r10965.
R=rossberg@chromium.org
TEST=mjsunit/object-is
Review URL: https://chromiumcodereview.appspot.com/9641015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10967
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 8 Mar 2012 13:03:07 +0000 (13:03 +0000)]
Basic interface inference for modules.
All module expressions, and all variables that might refer to modules,
are assigned interfaces (module types) that are resolved using
unification. This is necessary to deal with the highly recursive
nature of ES6 modules, which does not allow any kind of bottom-up
strategy for resolving module names and paths.
Error messages are rudimental right now. Probably need to track
more information to make them nicer.
R=svenpanne@chromium.org
BUG=v8:1569
TEST=
Review URL: https://chromiumcodereview.appspot.com/9615009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10966
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 8 Mar 2012 12:49:24 +0000 (12:49 +0000)]
Implement Object.is and Number.is[Finite,NaN] functions.
R=rossberg@chromium.org
TEST=mjsunit/object-is,mjsunit/number-is
Review URL: https://chromiumcodereview.appspot.com/9630009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10965
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 8 Mar 2012 10:21:43 +0000 (10:21 +0000)]
Set debug break slot at init of loop variable in a for loop.
BUG=102153
TEST=regress-102153.js
Review URL: https://chromiumcodereview.appspot.com/9625011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10963
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 8 Mar 2012 08:09:27 +0000 (08:09 +0000)]
Un-braindead-ify test-debug/DebugBreakLoop
Review URL: https://chromiumcodereview.appspot.com/9623007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10962
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 7 Mar 2012 17:52:16 +0000 (17:52 +0000)]
Add kAbortIncrementalMarkingMask flag for GC.
This adds an additional flag to control whether incremental marking
should be aborted when requesting a GC, providing a finer granularity
between kNoGCFlags and kMakeHeapIterableMask.
R=ulan@chromium.org
BUG=v8:1608
Review URL: https://chromiumcodereview.appspot.com/9608006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10961
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 7 Mar 2012 17:38:50 +0000 (17:38 +0000)]
Add HeapProfiler::GetPersistentHandleCount to be able to track the number of persistent handles
It turns out that an increasing number of persistent handles is a good signal for bugs in the bindings layer
BUG=none
TEST=cctest/test-heap-profiler/PersistentHandleCount
Review URL: https://chromiumcodereview.appspot.com/9620007
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10960
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 7 Mar 2012 17:31:33 +0000 (17:31 +0000)]
Profiler experiments: Honor postponing of interrupts in HandleStackGuardInterrupt
Review URL: https://chromiumcodereview.appspot.com/9620009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10959
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 7 Mar 2012 16:24:11 +0000 (16:24 +0000)]
Ignore soft heap limit when reserving space.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9605014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10958
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 7 Mar 2012 14:19:28 +0000 (14:19 +0000)]
Tweaks to SubStringStub
Review URL: https://chromiumcodereview.appspot.com/9625003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10957
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 7 Mar 2012 13:24:44 +0000 (13:24 +0000)]
Make the runtime entry for setting/changing accessors "atomic".
Previously, there were 1 or 2 calls to the runtime when accessors were changed
or set. This doesn't really work well with property attributes, leading to some
hacks and complicates things even further when trying to share maps in presence
of accessors. Therefore, the runtime entry now takes the full triple (getter,
setter, attributes), where the getter and/or the setter can be null in case they
shouldn't be changed.
For now, we do basically the same on the native side as we did before on the
JavaScript side, but this will change in future CLs, the current CL is already
large enough.
Note that object literals with a getter and a setter for the same property still
do 2 calls, but this is a little bit more tricky to fix and will be handled in a
separate CL.
Review URL: https://chromiumcodereview.appspot.com/9616016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10956
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 7 Mar 2012 12:51:31 +0000 (12:51 +0000)]
Implement --download-data for test harness.
This allows the test harness to download missing test suite data if
necessary. We use the bzip2 archive for test262 because it is faster
than cloning the repository and also works without any Mercurial
installation.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9619002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10955
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 7 Mar 2012 12:04:28 +0000 (12:04 +0000)]
Avoid starting a new basic block when inlining a function.
Instead of creating a fresh basic block for the inlined body,
I just simulate the outer environment in the middle of the current
block before updating the current environment to the inlined environment and
emitting the enter-inlined instruction.
Review URL: https://chromiumcodereview.appspot.com/9618052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10954
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 7 Mar 2012 11:48:36 +0000 (11:48 +0000)]
Caught yet another escaped hole.
Review URL: https://chromiumcodereview.appspot.com/9592048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10953
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 7 Mar 2012 10:57:36 +0000 (10:57 +0000)]
Fix compile with debuggersupport=off.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9546051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10952
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 7 Mar 2012 10:03:32 +0000 (10:03 +0000)]
Never let the hole escape...
Review URL: https://chromiumcodereview.appspot.com/9605042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10951
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 7 Mar 2012 09:05:41 +0000 (09:05 +0000)]
MIPS: Simplify the deopt entry method.
The t9 register will always hold the address of the current entry when deoptimizing,
so it can be used as the basis of calculation.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9546017
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10950
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 7 Mar 2012 08:59:43 +0000 (08:59 +0000)]
MIPS: Minor optimizations in Builtins::Generate_ArgumentsAdaptorTrampoline.
The branch delay slot is now utilized in a few loops.
This is the cleanup of an old TODO.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9618013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10949
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 6 Mar 2012 17:39:12 +0000 (17:39 +0000)]
MIPS: Port r10939 to x64 and arm (inline Math.random in crankshaft).
Port r10947 (d85b4e).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9615016
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10948
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 6 Mar 2012 16:12:11 +0000 (16:12 +0000)]
Port r10939 to x64 and arm (inline Math.random in crankshaft).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9615012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10947
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 6 Mar 2012 13:37:25 +0000 (13:37 +0000)]
Fix nosse2 tests.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9617004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10944
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 6 Mar 2012 12:22:18 +0000 (12:22 +0000)]
Consistently order receiver and holder argument in ElementAccessor.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9605006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10943
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 6 Mar 2012 12:21:42 +0000 (12:21 +0000)]
Fix test-random test.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9616006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10942
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 6 Mar 2012 12:03:14 +0000 (12:03 +0000)]
Automatically determine ElementsKind name for debug printing
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9618003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10941
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 6 Mar 2012 11:52:46 +0000 (11:52 +0000)]
Revert r19024 due to performance regressions.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9615010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10940
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 6 Mar 2012 11:31:51 +0000 (11:31 +0000)]
Inline Math.random in crankshaft (ia32).
BUG=
TEST=cctest/test-random.cc
Review URL: https://chromiumcodereview.appspot.com/9615008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10939
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 6 Mar 2012 10:57:54 +0000 (10:57 +0000)]
Blocks that contain soft deopts have no side effects.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9188005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10938
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 6 Mar 2012 09:43:12 +0000 (09:43 +0000)]
Update unicode tables to version 6.1.0.
R=erik.corry@gmail.com
BUG=v8:1965
Review URL: https://chromiumcodereview.appspot.com/9615005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10933
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 6 Mar 2012 09:19:25 +0000 (09:19 +0000)]
Refactorings only: More uses of "To" template and comment fixes.
Review URL: https://chromiumcodereview.appspot.com/9594018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10932
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00