platform/upstream/v8.git
11 years agoIntroduce ENABLE_LATIN_1 compile flag
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

11 years agoMIPS: Adapt Danno's Track Allocation Info idea to fast literals.
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

11 years agoMIPS: Fix typo in commit r13326 (f8c9bf84).
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

11 years agoAdded %FlattenString and use it to speed up a regression test.
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

11 years agoMIPS: Generalize calling to C++ on stub deopt
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

11 years agoFix nosse2 crash introduced by r13320
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

11 years agoOnly enable MinGW-w64 pow() workaround if needed
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

11 years agoEnable readline on d8 while building a shared lib.
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

11 years agoUse POLYMORPHIC for polymorphic Keyed(Load|Store)IC
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

11 years agoTest fix: missing check for JSArray.
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

11 years agoAdapt Danno's Track Allocation Info idea to fast literals. When allocating a literal...
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

11 years agoIntroduce POLYMORPHIC
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

11 years agoSlight cleanup of UpdateCache code.
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

11 years agoEnvironment bookkeping has linear time complexity now, not a quadratic one.
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

11 years agoUse C++ style type casts.
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

11 years agoFix missing exception check in typed array constructor.
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

11 years agoCheck interceptor before optimizing load/store
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

11 years agoMIPS: Elide unnecessary context reload in generated stubs.
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

11 years agoMIPS: Re-land Crankshaft-generated KeyedLoad stubs.
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

11 years agoMIPS: Remove redundant loads in DoCheckMaps Hoist the loop-invariant load out of...
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

11 years agoGeneralize calling to C++ on stub deopt
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

11 years agoAdd ARM support to tools/grokdump.py
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

11 years agoARM: generate integer zero in a uniform manner.
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

11 years agoUse RelocInfo::IsNone in a few more places.
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

11 years agoMIPS: Fix ARM code for DoModI.
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

11 years agoMIPS: Enable type feedback for branch statement and function call
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

11 years agoUse enum instead of bool for force_generic (MISS / MISS_FORCE_GENERIC)
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

11 years agoCheck for read-only-ness when preparing for array sort.
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

11 years agoReplaced a bailout ID assertion with quadratic time complexity by a linear one.
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

11 years agoRename RelocInfo::NONE to RelocInfo::NONE32.
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

11 years agoPrepare push to trunk. Now working on version 3.16.3.
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

11 years agoCleanup RelocInfo::NONE usage.
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

11 years agoFix Win64 build.
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

11 years agoSynched postmortem script with not-so-recent changes.
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

11 years agoRefactor out assumption that one byte strings are ascii in utf8 processing.
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

11 years agoImproved printing of HForceRepresentation.
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

11 years agoRemove InputBuffer
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

11 years agoAdd Makefile options to build for the Raspberry Pi (armv7=0, arm_fpu=vfp2).
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

11 years agoFixed printing of LInstructions in the presence of optional arguments
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

11 years agoRelax test expectations in BootUpMemoryUse.
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

11 years agoMove CopyElements to the accessor of the target.
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

11 years agoReland r13275 and 13276 (Remove most uses of StringInputBuffer).
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

11 years agoElide unnecessary context reload in generated stubs.
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

11 years agoHandle non-constant divisor in MathFloorOfDiv, on ia32/x64
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

11 years agoEnable type feedback for branch statement and function call
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

11 years agoUse EXTERNAL_REFERENCE instead of RUNTIME_ENTRY for Runtime::PerformGC and
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

11 years agoUse VLDR instead of VMOVs from GPR when a 64-bit double can't be encoded as a VMOV...
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

11 years agopostmortem: export kSmiShiftSize
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

11 years agoRefactor and improve inlined double-aligned allocations
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

11 years agoPrepare push to trunk. Now working on version 3.16.2.
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

11 years agoFix SSE2 debug asserts in LayoutTests
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

11 years agoRevert r13188, r13194, r13256 (Deferred formatting of error stack trace during GC).
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

11 years agoAdd kNumberStringCacheRootIndex into writable_roots
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

11 years agoRevert r13275 and 13276 (Remove most uses of StringInputBuffer).
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

11 years agoFix build warnings.
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

11 years agoRemove most uses of StringInputBuffer
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

11 years agoFix typo in the CheckSSE2OperandIsInt32: use bitwise not instead of integer negation.
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

11 years agoFix x64 MathMinMax for negative untagged int32 arguments.
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

11 years agoBasic test for interaction of Object.observe and hidden prototypes
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

11 years agoFixed typing confusion found by GCMole
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

11 years agoFixed FloatingPointHelper::CheckSSE2OperandIsInt32.
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

11 years agoFixed x64 disassembler for cmpb_al
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

11 years agoAdded (dis-)assembler support for movmskps on ia32 and x64.
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

11 years agoFast-forward version 3.15.12 to 3.16.0.
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

11 years agoPrepare push to trunk. Now working on version 3.15.13.
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

11 years agoRefactoring only: Use CheckSSE2OperandIsInt32 instead of copy-n-paste code.
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

11 years agoRefactored deopt tracing and FindOptimizedCode. Fixed a bug when printing stubs.
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

11 years agoMIPS: ARM: fix a bug with saving lr register in GenerateSmiToDouble.
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

11 years agoARM: Use division instructions in lithium and stubs
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

11 years agoFix several bugs in error stack trace formatting.
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

11 years agoObject.observe: fix observation for optimised in/decrement and compound assignment.
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

11 years agoObject.observe: temporarily disable one test to unbreak ARM.
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

11 years agoRemove redundant loads in DoCheckMaps
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

11 years agoRefactoring only: Extracted a method for finding optimized code.
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

11 years agoRefactoring only: Extracted method to print deopt location.
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

11 years agoRefactoring only: Move stuff to DeoptimizerData where it belongs. Use "for".
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

11 years agoFix windows build errors.
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

11 years agoRemove Utf8InputBuffer
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

11 years agoFix ARM code for DoModI.
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

11 years agoObject.observe: test mutating an object via the API
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

11 years agoFix treatment of hidden prototypes in SetProperty.
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

11 years agoFix windows compile warnings.
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

11 years agoFix compile warning.
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

11 years agoReplace the use CharacterStreams in Heap::AllocateSymbolInternal and String::ComputeHash
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

11 years agoDeopt on overflow in integer mod.
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

11 years agoExtend API to allow setting length property for function templates.
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

11 years agoObject.observe: Change semantics of deliverChangeRecords to iterate.
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

11 years agoUnbreak --trace-codegen
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

11 years agoFixed resizing of deopt table
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

11 years agoRe-land Crankshaft-generated KeyedLoad stubs.
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

11 years agoCorrectly handle negative codes in String.fromCharCode()
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

11 years agoSimplify implementation of assignment-to-const checks.
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

11 years agoMade store buffer compaction more predictable.
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

11 years agoHardfloat does not imply VFPv3, only VFPv2.
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

11 years agoinclude: fix String::New() comment
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

11 years agoMIPS: Improve array to string conversion.
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

11 years agoRename LookupSymbol calls to use Utf8 or OneByte in names.
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

11 years agoMake sure error message formatting does not have side effects.
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

11 years agoImplement OS::DumpBacktrace() on FreeBSD.
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

11 years agoUse a filter instead of a visitor to deoptimize selected functions in a context.
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