yangguo@chromium.org [Wed, 9 Jan 2013 10:30:54 +0000 (10:30 +0000)]
Introduce ENABLE_LATIN_1 compile flag
Mostly a bunch of renaming when flag is disabled.
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11759008
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13340
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 9 Jan 2013 10:12:56 +0000 (10:12 +0000)]
MIPS: Adapt Danno's Track Allocation Info idea to fast literals.
Port r13330 (
6d9ce8a8)
Original commit message:
Adapt Danno's Track Allocation Info idea to fast literals. When allocating a literal array, we store an AllocationSiteInfo object right after the JSArray, with a pointer to the boilerplate object. Later, if the array transitions we check for the continued existence of the temporary AllocationSiteInfo object (has no roots). If found, we'll use it to transition the boilerplate array as well.
Danno's original changeset: https://codereview.chromium.org/
10615002/
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11783048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13339
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 9 Jan 2013 09:40:00 +0000 (09:40 +0000)]
MIPS: Fix typo in commit r13326 (
f8c9bf84).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
11824015
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13338
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 9 Jan 2013 09:32:12 +0000 (09:32 +0000)]
Added %FlattenString and use it to speed up a regression test.
Flattening strings is relatively costly and by doing it after every duplication
we avoid combinatorial explosion.
Note that flattening could have been done by e.g. using a regular expression,
too, but this is just another implementation detail and %FlattenString seems
general enough to be useful in other tests, too.
Review URL: https://codereview.chromium.org/
11828014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13337
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 9 Jan 2013 08:43:36 +0000 (08:43 +0000)]
MIPS: Generalize calling to C++ on stub deopt
Port r13320 (
916d70a6)
Original commit message:
Remove code specific to KeyedLoadICs in DoCompiledStubFrame on all platforms, driving stub frame translation by the register parameter information found in a stub's CodeStubInterfaceDescriptor.
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11783046
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13336
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 8 Jan 2013 16:21:39 +0000 (16:21 +0000)]
Fix nosse2 crash introduced by r13320
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
11788030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13335
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 8 Jan 2013 15:32:40 +0000 (15:32 +0000)]
Only enable MinGW-w64 pow() workaround if needed
The pow() workaround is no longer needed in the latest version of
MinGW-w64.
Contributed by net147@gmail.com
BUGS=
TEST=mjsunit/math-pow,mjsunit/math-sqrt
Review URL: https://chromiumcodereview.appspot.com/
11748033
Patch from Jonathan Liu <net147@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13334
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 8 Jan 2013 15:24:17 +0000 (15:24 +0000)]
Enable readline on d8 while building a shared lib.
This patch enables readline on d8 except for completion support.
It sould be useful enough for history and line editing.
This is related to V8's issue 1781 (http://code.google.com/p/v8/issues/detail?id=1781), not chromium's.
BUG=1781
Review URL: https://chromiumcodereview.appspot.com/
11776017
Patch from Luis Reis <luis.m.reis@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13333
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 8 Jan 2013 12:01:51 +0000 (12:01 +0000)]
Use POLYMORPHIC for polymorphic Keyed(Load|Store)IC
Review URL: https://chromiumcodereview.appspot.com/
11794045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13332
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 8 Jan 2013 10:22:12 +0000 (10:22 +0000)]
Test fix: missing check for JSArray.
BUG=
Review URL: https://codereview.chromium.org/
11801036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13331
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 8 Jan 2013 09:03:16 +0000 (09:03 +0000)]
Adapt Danno's Track Allocation Info idea to fast literals. When allocating a literal array,
we store an AllocationSiteInfo object right after the JSArray, with a pointer to the
boilerplate object. Later, if the array transitions we check for the continued existence
of the temporary AllocationSiteInfo object (has no roots). If found, we'll use it to
transition the boilerplate array as well.
Danno's original changeset: https://codereview.chromium.org/
10615002/
Review URL: https://codereview.chromium.org/
11663005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13330
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 7 Jan 2013 15:36:26 +0000 (15:36 +0000)]
Introduce POLYMORPHIC
Review URL: https://chromiumcodereview.appspot.com/
11747022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13329
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 7 Jan 2013 15:35:00 +0000 (15:35 +0000)]
Slight cleanup of UpdateCache code.
Review URL: https://chromiumcodereview.appspot.com/
11737033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13328
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 7 Jan 2013 15:28:20 +0000 (15:28 +0000)]
Environment bookkeping has linear time complexity now, not a quadratic one.
This reduces the time take for mjsunit/limit-locals from 56.8s to 15.1s in debug
mode and from 12.0s to 1.6s in release mode.
Note that GrowableBitVector and BitVector should really be merged, and probably
have their allocation strategy parmeterized. The current state of affairs
involving tons of checks and delegation is extremely ugly, and it is far from
clear if all that special casing is a clear win. STL FTW! :-P
Review URL: https://codereview.chromium.org/
11775016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13327
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 7 Jan 2013 15:02:56 +0000 (15:02 +0000)]
Use C++ style type casts.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11644097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13326
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 7 Jan 2013 14:01:04 +0000 (14:01 +0000)]
Fix missing exception check in typed array constructor.
The typed array constructor might fail if the first argument is an
object with a length property. Accessing the property can cause an
exception to be thrown and an explicit check needs to be performed.
R=verwaest@chromium.org
BUG=chromium:168545
TEST=mjsunit/regress/regress-crbug-168545.js
Review URL: https://codereview.chromium.org/
11777014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13325
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 7 Jan 2013 12:14:36 +0000 (12:14 +0000)]
Check interceptor before optimizing load/store
Review URL: https://chromiumcodereview.appspot.com/
11753027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13324
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 7 Jan 2013 10:23:30 +0000 (10:23 +0000)]
MIPS: Elide unnecessary context reload in generated stubs.
Port r13290 (
6970ca83)
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11773013
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13323
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 7 Jan 2013 10:18:25 +0000 (10:18 +0000)]
MIPS: Re-land Crankshaft-generated KeyedLoad stubs.
Port r13236 (
cd9236c5)
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11801002
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13322
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 7 Jan 2013 10:10:38 +0000 (10:10 +0000)]
MIPS: Remove redundant loads in DoCheckMaps Hoist the loop-invariant load out of the loop and call the other CheckMap function
Port r13253 (
5af29105)
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11784014
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13321
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 7 Jan 2013 10:06:11 +0000 (10:06 +0000)]
Generalize calling to C++ on stub deopt
Remove code specific to KeyedLoadICs in DoCompiledStubFrame on all platforms, driving stub frame translation by the register parameter information found in a stub's CodeStubInterfaceDescriptor.
Review URL: https://codereview.chromium.org/
11635015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13320
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 7 Jan 2013 09:48:04 +0000 (09:48 +0000)]
Add ARM support to tools/grokdump.py
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11565014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13319
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 7 Jan 2013 09:43:12 +0000 (09:43 +0000)]
ARM: generate integer zero in a uniform manner.
ARM generated integer zero as either Operand(0, RelocInfo::NONE32), or
Operand(0), or Operand::Zero(). My change makes it use only
Operand::Zero().
This has no functional impact, it's pure cleanup.
R= ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11745030
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13318
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 7 Jan 2013 09:15:25 +0000 (09:15 +0000)]
Use RelocInfo::IsNone in a few more places.
I had missed some earlier.
Followup to:
https://chromiumcodereview.appspot.com/
11695006/
There are now NONE and NONE64 RelocInfo types, but only ARM uses them
both at the same time. They were added in:
https://chromiumcodereview.appspot.com/
11191029/
R= ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11742045
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13317
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 7 Jan 2013 08:58:52 +0000 (08:58 +0000)]
MIPS: Fix ARM code for DoModI.
Port r13247 (
4dda8131)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
11782009
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13316
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 7 Jan 2013 08:49:52 +0000 (08:49 +0000)]
MIPS: Enable type feedback for branch statement and function call
Port r13288 (
5fa2c889)
Original commit message:
This change associates TypeFeedbackIds with ToBoolean stubs in
full-compiled code on ARM, allowing their information to be used in
Crankshaft. This eliminates unnecessary checks, especially in
DoBranch.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
11801003
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13315
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 4 Jan 2013 15:37:59 +0000 (15:37 +0000)]
Use enum instead of bool for force_generic (MISS / MISS_FORCE_GENERIC)
Review URL: https://chromiumcodereview.appspot.com/
11737032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13314
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 4 Jan 2013 15:24:47 +0000 (15:24 +0000)]
Check for read-only-ness when preparing for array sort.
R=verwaest@chromium.org
BUG=v8:2419
Review URL: https://chromiumcodereview.appspot.com/
11759022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13313
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 4 Jan 2013 12:48:18 +0000 (12:48 +0000)]
Replaced a bailout ID assertion with quadratic time complexity by a linear one.
This reduces the time to run our test suite in debug mode considerably (from
8:43 to 4:05 on my local workstation using 32 threads). Note that the assertion
is so fast now that it doesn't need to be hidden behind --enable-slow-asserts.
Furthermore, the bookkeeping of the set is not measurable in all our benchmarks,
so I intentionally avoided any #ifdef chaos to keep things simple.
Review URL: https://codereview.chromium.org/
11745027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13312
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 4 Jan 2013 10:56:24 +0000 (10:56 +0000)]
Rename RelocInfo::NONE to RelocInfo::NONE32.
This CL only does renaming, nothing else.
Followup to:
https://chromiumcodereview.appspot.com/
11695006/
There are now NONE and NONE64 RelocInfo types, but only ARM uses them
both at the same time. They were added in:
https://chromiumcodereview.appspot.com/
11191029/
R= ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11744020
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13311
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 4 Jan 2013 08:55:22 +0000 (08:55 +0000)]
Prepare push to trunk. Now working on version 3.16.3.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11748029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13308
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 3 Jan 2013 14:20:08 +0000 (14:20 +0000)]
Cleanup RelocInfo::NONE usage.
There are now NONE and NONE64 RelocInfo types, but only ARM uses them
both at the same time. They were added in:
https://chromiumcodereview.appspot.com/
11191029/
I'll rename NONE to NONE32 in a later CL.
This CL cleans up the RelocInfo::NONE usage by:
- Using RelocInfo::IsNone when testing for NONE-ness.
- Using NONE on 32-bit platforms (MIPS and IA32), and NONE64 on 64-bit
platforms (x64).
This cleans up the code and prevents it from evolving bugs in the future
because NONE32 and NONE64 are used in misleading ways.
R= ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11695006
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13307
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 3 Jan 2013 13:16:00 +0000 (13:16 +0000)]
Fix Win64 build.
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11746015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13304
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 3 Jan 2013 13:11:47 +0000 (13:11 +0000)]
Synched postmortem script with not-so-recent changes.
Review URL: https://codereview.chromium.org/
11744019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13303
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 3 Jan 2013 12:59:54 +0000 (12:59 +0000)]
Refactor out assumption that one byte strings are ascii in utf8 processing.
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11725006
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13302
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 3 Jan 2013 10:05:40 +0000 (10:05 +0000)]
Improved printing of HForceRepresentation.
Review URL: https://codereview.chromium.org/
11745011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13301
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 3 Jan 2013 09:18:01 +0000 (09:18 +0000)]
Remove InputBuffer
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11727004
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13298
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 3 Jan 2013 08:56:05 +0000 (08:56 +0000)]
Add Makefile options to build for the Raspberry Pi (armv7=0, arm_fpu=vfp2).
With these Makefile changes, it is possible to build V8 on the Raspberry Pi with the following make invocation:
make native armv7=false vfp3=off hardfp=on disassembler=on console=readline snapshot=on gdbjit=on strictaliasing=off
R=danno@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11722003
Patch from Luis Reis <luis.m.reis@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13297
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 3 Jan 2013 07:23:33 +0000 (07:23 +0000)]
Fixed printing of LInstructions in the presence of optional arguments
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
11743012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13294
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 2 Jan 2013 15:00:12 +0000 (15:00 +0000)]
Relax test expectations in BootUpMemoryUse.
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11738004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13293
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 2 Jan 2013 10:09:42 +0000 (10:09 +0000)]
Move CopyElements to the accessor of the target.
Review URL: https://chromiumcodereview.appspot.com/
11416238
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13292
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 31 Dec 2012 11:13:50 +0000 (11:13 +0000)]
Reland r13275 and 13276 (Remove most uses of StringInputBuffer).
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11727003
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13291
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 28 Dec 2012 16:25:38 +0000 (16:25 +0000)]
Elide unnecessary context reload in generated stubs.
Review URL: https://codereview.chromium.org/
11550005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13290
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 28 Dec 2012 15:52:17 +0000 (15:52 +0000)]
Handle non-constant divisor in MathFloorOfDiv, on ia32/x64
Zheng Liu
zheng.z.liu@intel.com
Review URL: https://chromiumcodereview.appspot.com/
11624022
Patch from Zheng Liu <zheng.z.liu@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13289
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 28 Dec 2012 15:14:44 +0000 (15:14 +0000)]
Enable type feedback for branch statement and function call
This change associates TypeFeedbackIds with ToBoolean stubs in
full-compiled code on ARM, allowing their information to be used in
Crankshaft. This eliminates unnecessary checks, especially in
DoBranch.
Review URL: https://chromiumcodereview.appspot.com/
11635046
Patch from Jay Conrod <dconrod@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13288
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 28 Dec 2012 14:36:55 +0000 (14:36 +0000)]
Use EXTERNAL_REFERENCE instead of RUNTIME_ENTRY for Runtime::PerformGC and
CallApiFunctionAndReturn in X64
Review URL: https://codereview.chromium.org/
11694008
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13287
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 28 Dec 2012 13:34:15 +0000 (13:34 +0000)]
Use VLDR instead of VMOVs from GPR when a 64-bit double can't be encoded as a VMOV immediate.
This requires constant blinding before it can be enabled. There are other interesting optimizations that can be added later, detailed in a TODO.
BUG=optimization
R=ulan@chromium.org,mstarzinger@chromium.org, hwennborg@google.com
Review URL: https://chromiumcodereview.appspot.com/
11191029
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13286
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 28 Dec 2012 13:06:08 +0000 (13:06 +0000)]
postmortem: export kSmiShiftSize
Right now it's impossible to figure out from headers that smis are left shifted
by 31 bit on x64, and only then tagged.
R=erik.corry@gmail.com
Review URL: https://codereview.chromium.org/
11676005
Patch from Fedor Indutny <fedor@indutny.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13285
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 28 Dec 2012 11:09:16 +0000 (11:09 +0000)]
Refactor and improve inlined double-aligned allocations
Change is performance neutral but generates smaller code and encapsulates double alignment in the macro-assembler rather than at the allocation site.
Review URL: https://codereview.chromium.org/
11684005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13284
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 27 Dec 2012 15:56:02 +0000 (15:56 +0000)]
Prepare push to trunk. Now working on version 3.16.2.
R=danno@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11675006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13281
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 27 Dec 2012 15:40:34 +0000 (15:40 +0000)]
Fix SSE2 debug asserts in LayoutTests
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
11675005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13280
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 27 Dec 2012 13:12:27 +0000 (13:12 +0000)]
Revert r13188, r13194, r13256 (Deferred formatting of error stack trace during GC).
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11678006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13279
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 27 Dec 2012 10:11:08 +0000 (10:11 +0000)]
Add kNumberStringCacheRootIndex into writable_roots
Review URL: https://chromiumcodereview.appspot.com/
11660028
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13278
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 27 Dec 2012 10:03:17 +0000 (10:03 +0000)]
Revert r13275 and 13276 (Remove most uses of StringInputBuffer).
This is due to test failures in test-mark-compact/BootUpMemoryUse.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11688003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13277
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 24 Dec 2012 08:52:32 +0000 (08:52 +0000)]
Fix build warnings.
TBR=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11669020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13276
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 24 Dec 2012 08:29:48 +0000 (08:29 +0000)]
Remove most uses of StringInputBuffer
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11638037
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13275
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 21 Dec 2012 18:16:27 +0000 (18:16 +0000)]
Fix typo in the CheckSSE2OperandIsInt32: use bitwise not instead of integer negation.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11662009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13274
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 21 Dec 2012 17:52:00 +0000 (17:52 +0000)]
Fix x64 MathMinMax for negative untagged int32 arguments.
An untagged int32 has zeros in the upper half even if it is negative.
Using cmpq to compare such numbers will incorrectly ignore the sign.
BUG=164442
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11665007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13273
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Fri, 21 Dec 2012 17:40:09 +0000 (17:40 +0000)]
Basic test for interaction of Object.observe and hidden prototypes
The test simply shows the current behavior, not necessarily what we
want the behavior to be.
Review URL: https://codereview.chromium.org/
11635033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13272
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 21 Dec 2012 14:28:33 +0000 (14:28 +0000)]
Fixed typing confusion found by GCMole
Review URL: https://codereview.chromium.org/
11668006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13271
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 21 Dec 2012 14:01:53 +0000 (14:01 +0000)]
Fixed FloatingPointHelper::CheckSSE2OperandIsInt32.
BUG=v8:2458
Review URL: https://codereview.chromium.org/
11660010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13270
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 21 Dec 2012 13:50:17 +0000 (13:50 +0000)]
Fixed x64 disassembler for cmpb_al
Review URL: https://codereview.chromium.org/
11666007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 21 Dec 2012 13:47:08 +0000 (13:47 +0000)]
Added (dis-)assembler support for movmskps on ia32 and x64.
Review URL: https://codereview.chromium.org/
11664007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13266
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 21 Dec 2012 13:44:40 +0000 (13:44 +0000)]
Fast-forward version 3.15.12 to 3.16.0.
Now working on 3.16.1.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11659010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13264
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 21 Dec 2012 12:33:30 +0000 (12:33 +0000)]
Prepare push to trunk. Now working on version 3.15.13.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11665006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13261
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 21 Dec 2012 10:19:42 +0000 (10:19 +0000)]
Refactoring only: Use CheckSSE2OperandIsInt32 instead of copy-n-paste code.
Review URL: https://codereview.chromium.org/
11666004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13260
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 21 Dec 2012 07:18:56 +0000 (07:18 +0000)]
Refactored deopt tracing and FindOptimizedCode. Fixed a bug when printing stubs.
Review URL: https://codereview.chromium.org/
11636046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13259
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 20 Dec 2012 17:07:38 +0000 (17:07 +0000)]
MIPS: ARM: fix a bug with saving lr register in GenerateSmiToDouble.
Port r13107 (
63aea0a3)
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11574013
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 20 Dec 2012 16:31:19 +0000 (16:31 +0000)]
ARM: Use division instructions in lithium and stubs
BUG=none
TEST=Added to test/mjsunit/math-floor-of-div.js, math-floor-of-div-nosudiv.js
Review URL: https://codereview.chromium.org/
11316105
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13257
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 20 Dec 2012 16:25:26 +0000 (16:25 +0000)]
Fix several bugs in error stack trace formatting.
GetScriptWrapper can be called recursively:
GetScriptWrapper -> GC -> DeferredFormatStackTrace -> GetScriptWrapper
GC-unsafe code in ErrorObjectList::DeferredFormatStackTrace
Enable overwriting Error.prepareStackTrace by itself while not
causing infinity recursion when it triggers an exception.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11649037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13256
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 20 Dec 2012 15:03:30 +0000 (15:03 +0000)]
Object.observe: fix observation for optimised in/decrement and compound assignment.
R=svenpanne@chromium.org
BUG=v8:2409
Review URL: https://codereview.chromium.org/
11642042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13255
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 20 Dec 2012 14:12:41 +0000 (14:12 +0000)]
Object.observe: temporarily disable one test to unbreak ARM.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11646004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13254
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 20 Dec 2012 14:05:14 +0000 (14:05 +0000)]
Remove redundant loads in DoCheckMaps
Hoist the loop-invariant load out of the loop and call the other CheckMap function
BUG=none
TEST=none
Committed: https://code.google.com/p/v8/source/detail?r=13200
Review URL: https://codereview.chromium.org/
11369014
Patch from Rajeev Krithivasan <rkrithiv@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13253
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 20 Dec 2012 13:05:16 +0000 (13:05 +0000)]
Refactoring only: Extracted a method for finding optimized code.
Review URL: https://codereview.chromium.org/
11637036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13252
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 20 Dec 2012 11:53:42 +0000 (11:53 +0000)]
Refactoring only: Extracted method to print deopt location.
Review URL: https://codereview.chromium.org/
11640041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13251
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 20 Dec 2012 09:47:09 +0000 (09:47 +0000)]
Refactoring only: Move stuff to DeoptimizerData where it belongs. Use "for".
Review URL: https://codereview.chromium.org/
11637034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13250
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 20 Dec 2012 09:33:55 +0000 (09:33 +0000)]
Fix windows build errors.
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11637033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13249
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 20 Dec 2012 09:20:37 +0000 (09:20 +0000)]
Remove Utf8InputBuffer
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11649018
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13248
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 20 Dec 2012 09:07:05 +0000 (09:07 +0000)]
Fix ARM code for DoModI.
R=ulan@chromium.org
BUG=166379
Review URL: https://chromiumcodereview.appspot.com/
11618020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13247
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 19 Dec 2012 17:02:12 +0000 (17:02 +0000)]
Object.observe: test mutating an object via the API
Review URL: https://codereview.chromium.org/
11598014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13246
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 19 Dec 2012 15:17:01 +0000 (15:17 +0000)]
Fix treatment of hidden prototypes in SetProperty.
R=svenpanne@chromium.org
BUG=v8:2457
Review URL: https://codereview.chromium.org/
11644021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13245
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 19 Dec 2012 13:57:51 +0000 (13:57 +0000)]
Fix windows compile warnings.
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11636016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13244
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 19 Dec 2012 13:38:00 +0000 (13:38 +0000)]
Fix compile warning.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11642020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13243
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 19 Dec 2012 13:27:20 +0000 (13:27 +0000)]
Replace the use CharacterStreams in Heap::AllocateSymbolInternal and String::ComputeHash
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11593007
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13242
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 19 Dec 2012 12:01:22 +0000 (12:01 +0000)]
Deopt on overflow in integer mod.
R=ulan@chromium.org
BUG=166379
Review URL: https://chromiumcodereview.appspot.com/
11618017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 19 Dec 2012 10:28:36 +0000 (10:28 +0000)]
Extend API to allow setting length property for function templates.
R=yangguo@chromium.org
BUG=125308
Review URL: https://codereview.chromium.org/
11631002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13240
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 19 Dec 2012 09:51:46 +0000 (09:51 +0000)]
Object.observe: Change semantics of deliverChangeRecords to iterate.
Added test for recursive change generation.
R=yangguo@chromium.org
BUG=v8:2409
Review URL: https://codereview.chromium.org/
11593028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13239
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 19 Dec 2012 09:31:12 +0000 (09:31 +0000)]
Unbreak --trace-codegen
Review URL: https://codereview.chromium.org/
11571055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13238
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 19 Dec 2012 07:36:38 +0000 (07:36 +0000)]
Fixed resizing of deopt table
BUG=chrome:166554
Review URL: https://codereview.chromium.org/
11617018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13237
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 18 Dec 2012 16:25:45 +0000 (16:25 +0000)]
Re-land Crankshaft-generated KeyedLoad stubs.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11528003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13236
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 18 Dec 2012 12:37:57 +0000 (12:37 +0000)]
Correctly handle negative codes in String.fromCharCode()
BUG=166553
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11576069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13235
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 18 Dec 2012 12:00:50 +0000 (12:00 +0000)]
Simplify implementation of assignment-to-const checks.
Also, add test that assignment to function name is a syntax error with harmony scoping.
Does not fix issue 2243 directly, but with ES6, the required behaviour will change to what is implemented already anyway.
R=yangguo@chromium.org
BUG=v8:2243
Review URL: https://codereview.chromium.org/
11607016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13234
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 18 Dec 2012 10:54:15 +0000 (10:54 +0000)]
Made store buffer compaction more predictable.
Review URL: https://codereview.chromium.org/
11593026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13233
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 18 Dec 2012 09:48:51 +0000 (09:48 +0000)]
Hardfloat does not imply VFPv3, only VFPv2.
Raspberry Pi is an example.
BUG=v8:2393
Review URL: https://chromiumcodereview.appspot.com/
11570061
Patch from Chi-Thanh Christopher Nguyen <nguyenchithanh@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 18 Dec 2012 09:22:25 +0000 (09:22 +0000)]
include: fix String::New() comment
Review URL: https://chromiumcodereview.appspot.com/
11446035
Patch from Ben Noordhuis <ben@c9.io>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13231
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 18 Dec 2012 09:21:05 +0000 (09:21 +0000)]
MIPS: Improve array to string conversion.
Port r13144 (
71c45300)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
11573017
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13230
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 17 Dec 2012 15:56:16 +0000 (15:56 +0000)]
Rename LookupSymbol calls to use Utf8 or OneByte in names.
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11597007
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13229
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 17 Dec 2012 14:00:50 +0000 (14:00 +0000)]
Make sure error message formatting does not have side effects.
R=vegorov@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11598011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13228
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 17 Dec 2012 10:50:19 +0000 (10:50 +0000)]
Implement OS::DumpBacktrace() on FreeBSD.
Review URL: https://chromiumcodereview.appspot.com/
11595004
Patch from Ben Noordhuis <ben@c9.io>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13227
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 17 Dec 2012 10:23:52 +0000 (10:23 +0000)]
Use a filter instead of a visitor to deoptimize selected functions in a context.
This makes the DeoptimizeAll function O(n) instead of O(n^2) where n in the number of optimized functions.
Before this change, DeoptimizeAll iterated over the optimized function list and called DeoptimizingVisitor for each function. The visitor iterated over the optimized function list again to remove the functions that share the same optimized code.
This change partitions the optimized function list into one or more lists of related functions in one pass over the optimized function list.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11547015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00