platform/upstream/v8.git
12 years agoFix test-random test.
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

12 years agoAutomatically determine ElementsKind name for debug printing
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

12 years agoRevert r19024 due to performance regressions.
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

12 years agoInline Math.random in crankshaft (ia32).
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

12 years agoBlocks that contain soft deopts have no side effects.
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

12 years agoUpdate unicode tables to version 6.1.0.
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

12 years agoRefactorings only: More uses of "To" template and comment fixes.
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

12 years agoPrepare push to trunk. Now working on version 3.9.16.
ulan@chromium.org [Tue, 6 Mar 2012 08:39:40 +0000 (08:39 +0000)]
Prepare push to trunk.  Now working on version 3.9.16.

R=yangguo@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix the heap profiler crash caused by memory layout changes between passes.
mikhail.naganov@gmail.com [Mon, 5 Mar 2012 18:13:29 +0000 (18:13 +0000)]
Fix the heap profiler crash caused by memory layout changes between passes.

The heap profiler randomly crashed because of memory corruption caused
by unexpected heap objects layout changes occured between count and fill
passes. The changes lead the number of retainers counted on the first pass
did not match its number on the fill pass leading to the out of bounds
array access.

Besides that the mark bit scheme has been changed to a plain vector one in
dominators building algorithm. It is up to 4x faster because of smaller
memory access footprint.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9594020
Patch from Alexei Filippov <alexeif@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoEnsure that inner pseudo-chunks are correctly initialized in FreeQueuedChunks.
vegorov@chromium.org [Mon, 5 Mar 2012 16:39:25 +0000 (16:39 +0000)]
Ensure that inner pseudo-chunks are correctly initialized in FreeQueuedChunks.

Fields introduced with guarding code space pages (area_start_, area_end_) were not correctly handled which lead to errors in StoreBuffer filtering.

R=mstarzinger@chromium.org
TEST=mozilla/data/js1_5/GC/regress-203278-2.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRecfactor core HasElement functionality into ElementsAccessors
danno@chromium.org [Mon, 5 Mar 2012 16:14:34 +0000 (16:14 +0000)]
Recfactor core HasElement functionality into ElementsAccessors

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Inline ordered relational compares of mixed double/undefined values.
danno@chromium.org [Mon, 5 Mar 2012 15:40:25 +0000 (15:40 +0000)]
MIPS: Inline ordered relational compares of mixed double/undefined values.

Port r10905 (2a997cf).

Original commit message:

Allow Crankshaft to inline ordered relational comparisons (<, >, <=, >=) that have undefined arguments in addition to double value arguments (rather than calling the generic Compare stub).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9583038
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoGenerate more compact code in regexp assembler with near jumps.
yangguo@chromium.org [Mon, 5 Mar 2012 14:41:07 +0000 (14:41 +0000)]
Generate more compact code in regexp assembler with near jumps.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoEnable constructor inlining by default again.
mstarzinger@chromium.org [Mon, 5 Mar 2012 14:20:58 +0000 (14:20 +0000)]
Enable constructor inlining by default again.

R=vegorov@chromium.org
TEST=mjsunit/compiler/inline-construct

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix Error.prototype.toString to throw TypeError.
mstarzinger@chromium.org [Mon, 5 Mar 2012 13:57:48 +0000 (13:57 +0000)]
Fix Error.prototype.toString to throw TypeError.

R=rossberg@chromium.org
BUG=v8:1980
TEST=mjsunit/function-call,mjsunit/regress/regress-1980

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix column formatting of --hydrogen-stats output by shortening a line.
fschneider@chromium.org [Mon, 5 Mar 2012 13:07:32 +0000 (13:07 +0000)]
Fix column formatting of --hydrogen-stats output by shortening a line.

TBR=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9578013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix inlining of strict mode constructors.
mstarzinger@chromium.org [Mon, 5 Mar 2012 12:46:50 +0000 (12:46 +0000)]
Fix inlining of strict mode constructors.

Inlined strict mode functions (that are not called as methods) will get
their receiver reset to undefined. This should not happen when inlining
constructors.

This change also simplifies the test suite to reuse the same closures
into which constructors get inlined and use gc() to force V8 to forget
collected type feedback.

R=vegorov@chromium.org
TEST=mjsunit/compiler/inline-construct

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAllocate new AccessorPairs with holes instead of undefined.
svenpanne@chromium.org [Mon, 5 Mar 2012 12:26:19 +0000 (12:26 +0000)]
Allocate new AccessorPairs with holes instead of undefined.

This is essential for the upcoming map sharing with accessors, and we aleady
have enough machinery to handle the holes now. Furthermore, use "To" template in
2 nearby functions, and made naming a bit more consistent.

In a nutshell: This CL should have no visible effect at all at the moment.
Famous last words...

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoUse an enum for indicating the component of an AccessorPair instead of a boolean...
svenpanne@chromium.org [Mon, 5 Mar 2012 12:11:28 +0000 (12:11 +0000)]
Use an enum for indicating the component of an AccessorPair instead of a boolean flag.

In addition, this CL introduces a tiny new helper, which will come in handy later,
plus some minor cleanup.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix double-rounding in strtod for MinGW.
yangguo@chromium.org [Mon, 5 Mar 2012 10:04:10 +0000 (10:04 +0000)]
Fix double-rounding in strtod for MinGW.

BUG=v8:1062
TEST=

Review URL: https://chromiumcodereview.appspot.com/9578011
Patch from Jonathan Liu <net147@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSimplify silent abort by raising SIGABRT directly.
yangguo@chromium.org [Mon, 5 Mar 2012 09:52:14 +0000 (09:52 +0000)]
Simplify silent abort by raising SIGABRT directly.

Review URL: https://chromiumcodereview.appspot.com/9597012
Patch from Jonathan Liu <net147@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoReland r10908 (Ensure consistent result of transcendental function0.)
yangguo@chromium.org [Mon, 5 Mar 2012 08:17:16 +0000 (08:17 +0000)]
Reland r10908 (Ensure consistent result of transcendental function0.)

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRevert r10913.
yangguo@chromium.org [Mon, 5 Mar 2012 07:55:27 +0000 (07:55 +0000)]
Revert r10913.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSet x86 FPU precision to 64-bit for MinGW. Original patch by Jonathan Liu <net147...
yangguo@chromium.org [Sun, 4 Mar 2012 10:49:25 +0000 (10:49 +0000)]
Set x86 FPU precision to 64-bit for MinGW. Original patch by Jonathan Liu <net147@gmail.com>.

BUG=v8:1062
TEST=test-strtod.cc

Review URL: https://chromiumcodereview.appspot.com/9599006
Patch from Jonathan Liu <net147@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix MinGW-w64 compilation
yangguo@chromium.org [Sat, 3 Mar 2012 11:07:29 +0000 (11:07 +0000)]
Fix MinGW-w64 compilation

Contributed by net147@gmail.com

BUGS=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9581045
Patch from Jonathan Liu <net147@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix MinGW64 build.
yangguo@chromium.org [Sat, 3 Mar 2012 10:19:12 +0000 (10:19 +0000)]
Fix MinGW64 build.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix corrupted snapshot serializaton on ia32.
mikhail.naganov@gmail.com [Fri, 2 Mar 2012 15:31:04 +0000 (15:31 +0000)]
Fix corrupted snapshot serializaton on ia32.

BUG=v8/1985
TEST=none

Review URL: https://chromiumcodereview.appspot.com/9582006
Patch from Alexei Filippov <alexeif@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRevert r10908 due to flakiness and crashes.
yangguo@chromium.org [Fri, 2 Mar 2012 15:00:52 +0000 (15:00 +0000)]
Revert r10908 due to flakiness and crashes.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoEnsure consistent result of transcendental functions.
yangguo@chromium.org [Fri, 2 Mar 2012 14:33:15 +0000 (14:33 +0000)]
Ensure consistent result of transcendental functions.

BUG=
TEST=regress-transcendental.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFixed presubmit error.
svenpanne@chromium.org [Fri, 2 Mar 2012 14:15:28 +0000 (14:15 +0000)]
Fixed presubmit error.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRe-land CL 9466047.
svenpanne@chromium.org [Fri, 2 Mar 2012 14:03:59 +0000 (14:03 +0000)]
Re-land CL 9466047.

Main change from the original CL: Call::ComputeTarget does not use IsProperty
anymore, because this would potentially need a holder, which we don't have
here. Using Map::LookupInDescriptors with a NULL holder is a bit fishy in
general, because one has to be *extremely* careful when using its LookupResult.

The original CL made Chrome's NetInternalsTest.netInternalsTourTabs browser test
fail, but it's a mystery how this could happen: We should never reach
Call::ComputeTarget via Call::RecordTypeFeedback with a CALLBACKS property,
because we never consider calls to them monomorphic, which is in turn because of
the stub cache leaving them in the pre-monomorphic state. Therefore, I don't
have a clue how to write a regression test for this...

As an additional tiny bonus, the --trace-opt output for deoptimizations has been
improved.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoInline ordered relational compares of mixed double/undefined values.
danno@chromium.org [Fri, 2 Mar 2012 13:40:14 +0000 (13:40 +0000)]
Inline ordered relational compares of mixed double/undefined values.

Allow Crankshaft to inline ordered relational comparisons (<, >, <=, >=) that have undefined arguments in addition to double value arguments (rather than calling the generic Compare stub).

R=fschneider@chromium.org
TEST=test/mjsunit/comparison-ops-and-undefined.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMake trace-hydrogen output more visualizer-friendly.
fschneider@chromium.org [Fri, 2 Mar 2012 13:05:59 +0000 (13:05 +0000)]
Make trace-hydrogen output more visualizer-friendly.
Review URL: https://chromiumcodereview.appspot.com/9580005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoDisable constructor inlining.
vegorov@chromium.org [Fri, 2 Mar 2012 12:50:42 +0000 (12:50 +0000)]
Disable constructor inlining.

There are failures on Kraken.

R=fschneider@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoCache result of ScriptNameOrSourceURL function. The function is quite slow on large...
yurys@chromium.org [Fri, 2 Mar 2012 12:27:15 +0000 (12:27 +0000)]
Cache result of ScriptNameOrSourceURL function. The function is quite slow on large(several MBs) scripts which causes significant slowdown when capturing stack trace for such scripts.
Review URL: https://chromiumcodereview.appspot.com/9564012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoIntroduce basic type feedback for for-in statements to avoid deopts.
vegorov@chromium.org [Fri, 2 Mar 2012 11:33:33 +0000 (11:33 +0000)]
Introduce basic type feedback for for-in statements to avoid deopts.

R=fschneider@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Properly check fast array property in StoreIC::GenerateArrayLength.
mstarzinger@chromium.org [Thu, 1 Mar 2012 17:20:11 +0000 (17:20 +0000)]
MIPS: Properly check fast array property in StoreIC::GenerateArrayLength.

This is the cleanup of an old todo from r10254 (93483b6eb).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9570010
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.9.15.
fschneider@chromium.org [Thu, 1 Mar 2012 15:37:17 +0000 (15:37 +0000)]
Prepare push to trunk. Now working on version 3.9.15.
Review URL: https://chromiumcodereview.appspot.com/9570016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Additional explicit zone allocation changes.
fschneider@chromium.org [Thu, 1 Mar 2012 12:56:02 +0000 (12:56 +0000)]
MIPS: Additional explicit zone allocation changes.

These changes were not included in r10863 (226afed4) because of patch submission ordering.

BUG=
TEST=
Patch from Daniel Kalmar <kalmard@homejinni.com>.
Review URL: https://chromiumcodereview.appspot.com/9566003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix a register assignment bug in typed array stores without SSE3 available.
fschneider@chromium.org [Thu, 1 Mar 2012 12:45:46 +0000 (12:45 +0000)]
Fix a register assignment bug in typed array stores without SSE3 available.

The old code used a separate HToInt32 instruction which had a wrong register
constraint for the input register which caused wrong result when the stored value
is used after a typed array store. (UseRegister instead of UseTempRegister) when no
SSE3 is available.

This change fixes it by replacing HToInt32 with the corresponding HChange
instruction which has correct register contraints.

TEST=mjsunit/compiler/regress-toint32.js
Review URL: https://chromiumcodereview.appspot.com/9565007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Implement inlined object allocation in Crankshaft.
mstarzinger@chromium.org [Thu, 1 Mar 2012 12:38:58 +0000 (12:38 +0000)]
MIPS: Implement inlined object allocation in Crankshaft.

Port r10881 (0d25c61e).

Original commit message:

Generates inlined code for object allocation specific to the initial map
of the given constructor function. Also forces completion of inobject
slack tracking while crankshafting to finalize instance size of these
objects.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9569008
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Fix secondary stub cache and add a test for the stub cache lookups. This is...
erik.corry@gmail.com [Thu, 1 Mar 2012 12:12:56 +0000 (12:12 +0000)]
MIPS: Fix secondary stub cache and add a test for the stub cache lookups.  This is a commit of https://chromiumcodereview.appspot.com/9566004 for Daniel Kalmar

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoImprove constructor inlining backout.
mstarzinger@chromium.org [Thu, 1 Mar 2012 11:50:11 +0000 (11:50 +0000)]
Improve constructor inlining backout.

This improves the generated hydrogen graph by also removing the obsolete
HCheckFunction instruction if we backout of inlining constructors.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoUpdate test262 expectations concerning 64-bit precision double.
yangguo@chromium.org [Thu, 1 Mar 2012 11:37:10 +0000 (11:37 +0000)]
Update test262 expectations concerning 64-bit precision double.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdd flag --trace-phase to selectively produce IR trace output.
fschneider@chromium.org [Thu, 1 Mar 2012 11:33:37 +0000 (11:33 +0000)]
Add flag --trace-phase to selectively produce IR trace output.

By default --trace-hydrogen only generates the final IR (before
code generation). The other phases can be printed by specifying
them by their first letter. Currently H=HIR, L=LIR or Z=final IR (default)
are recognized.
Review URL: https://chromiumcodereview.appspot.com/9535009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoImplement inlined object allocation in Crankshaft.
mstarzinger@chromium.org [Thu, 1 Mar 2012 11:10:28 +0000 (11:10 +0000)]
Implement inlined object allocation in Crankshaft.

Generates inlined code for object allocation specific to the initial map
of the given constructor function. Also forces completion of inobject
slack tracking while crankshafting to finalize instance size of these
objects.

R=vegorov@chromium.org
TEST=mjsunit/compiler/alloc-object

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.9.14.
ulan@chromium.org [Wed, 29 Feb 2012 15:41:07 +0000 (15:41 +0000)]
Prepare push to trunk.  Now working on version 3.9.14.

R=jkummerow@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoProfiler experiments: prevent self-optimization for V8 Extensions
jkummerow@chromium.org [Wed, 29 Feb 2012 15:08:02 +0000 (15:08 +0000)]
Profiler experiments: prevent self-optimization for V8 Extensions

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix stub cache on ARM, broken in 10864.
erik.corry@gmail.com [Wed, 29 Feb 2012 14:38:54 +0000 (14:38 +0000)]
Fix stub cache on ARM, broken in 10864.
Review URL: https://chromiumcodereview.appspot.com/9539010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoInline one level of recursive call of WriteToFlat for the common case of cons string...
yangguo@chromium.org [Wed, 29 Feb 2012 14:25:24 +0000 (14:25 +0000)]
Inline one level of recursive call of WriteToFlat for the common case of cons string list.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoEliminate overflow check after integer add and sub operation if result is truncated...
fschneider@chromium.org [Wed, 29 Feb 2012 13:41:18 +0000 (13:41 +0000)]
Eliminate overflow check after integer add and sub operation if result is truncated to int32.
Review URL: https://chromiumcodereview.appspot.com/9286002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoChange test262 test expectations regarding inaccurate Math functions.
yangguo@chromium.org [Wed, 29 Feb 2012 13:31:10 +0000 (13:31 +0000)]
Change test262 test expectations regarding inaccurate Math functions.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRevert "Handle CALLBACKS correctly in IsProperty functions."
jkummerow@chromium.org [Wed, 29 Feb 2012 13:29:17 +0000 (13:29 +0000)]
Revert "Handle CALLBACKS correctly in IsProperty functions."

This reverts r10847.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRewrite test CHECK to work on all platforms, including MIPS
danno@chromium.org [Wed, 29 Feb 2012 12:49:44 +0000 (12:49 +0000)]
Rewrite test CHECK to work on all platforms, including MIPS

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAST extensions and parsing for import & export declarations.
rossberg@chromium.org [Wed, 29 Feb 2012 12:12:52 +0000 (12:12 +0000)]
AST extensions and parsing for import & export declarations.

R=jkummerow@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Support fast case for-in in Crankshaft.
vegorov@chromium.org [Wed, 29 Feb 2012 12:05:58 +0000 (12:05 +0000)]
MIPS: Support fast case for-in in Crankshaft.

Port r10794 (654fe910).

Original commit message:

Only JSObject enumerables with enum cache (fast case properties, no interceptors, no enumerable properties on the prototype) are supported.

HLoadKeyedGeneric with keys produced by for-in enumeration are recognized and rewritten into direct property load by index. For this enum-cache was extended to store property indices in a separate array (see handles.cc).

New hydrogen instructions:

- HForInPrepareMap: checks for-in fast case preconditions and returns map that contains enum-cache;
- HForInCacheArray: extracts enum-cache array from the map;
- HCheckMapValue: map check with HValue map instead of immediate;
- HLoadFieldByIndex: load fast property by it's index, positive indexes denote in-object properties, negative - out of object properties;

Changed hydrogen instructions:

- HLoadKeyedFastElement: added hole check suppression for loads from internal FixedArrays that are knows to have no holes inside.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9453009
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix secondary stub cache and add a test for the stub cache lookups.
erik.corry@gmail.com [Wed, 29 Feb 2012 10:45:59 +0000 (10:45 +0000)]
Fix secondary stub cache and add a test for the stub cache lookups.
Review URL: https://chromiumcodereview.appspot.com/9496010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10864 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Pass zone explicitly to zone-allocation on x64 and ARM.
fschneider@chromium.org [Wed, 29 Feb 2012 09:53:59 +0000 (09:53 +0000)]
MIPS: Pass zone explicitly to zone-allocation on x64 and ARM.

Port r10857 (87e52e7).

Original commit message:

This is a very mechanical change to reduce the number of calls to
Isolate::Current that come with every plain new-allocation.

BUG=
TEST=

Patch from Daniel Kalmar <kalmard@homejinni.com>.
Review URL: https://chromiumcodereview.appspot.com/9511003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Implement inlining of constructor calls.
mstarzinger@chromium.org [Wed, 29 Feb 2012 09:48:03 +0000 (09:48 +0000)]
MIPS: Implement inlining of constructor calls.

Port r10849 (b0fe79c).

Also included: Fixed a bug in GenerateRecordCallTarget.

This bug prevented certain functions from being registered as Monomorphic
and thus prevented them from being inlined using the new system (b0fe79c).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9511002
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoDo not call memset() to initialize StubCache.
ulan@chromium.org [Tue, 28 Feb 2012 18:26:04 +0000 (18:26 +0000)]
Do not call memset() to initialize StubCache.

Review URL: https://chromiumcodereview.appspot.com/9464054
Patch from Iliyan Malchev <malchev@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoExplicitly use a Zone when allocating Range.
svenpanne@chromium.org [Tue, 28 Feb 2012 15:32:58 +0000 (15:32 +0000)]
Explicitly use a Zone when allocating Range.

This CL is a step towards removing ZoneObject's new operator without a Zone
parameter, which uses Isolate::Current. For e.g. the bulletben benchmark, this
CL reduces the number of calls to this new operator by roughly 120k, but we are
still left with 780k calls from other sites...

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoThread isolate through Property constructor, avoiding Isolate::Current.
svenpanne@chromium.org [Tue, 28 Feb 2012 15:32:06 +0000 (15:32 +0000)]
Thread isolate through Property constructor, avoiding Isolate::Current.

This removes roughly 5k invocations of Isolate::Current from the string-tagcloud
benchmark.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdd code kind check before preparing for OSR.
yangguo@chromium.org [Tue, 28 Feb 2012 12:59:00 +0000 (12:59 +0000)]
Add code kind check before preparing for OSR.

BUG=v8:1900, 115073

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPass zone explicitly to zone-allocation on x64 and ARM.
fschneider@chromium.org [Tue, 28 Feb 2012 10:53:13 +0000 (10:53 +0000)]
Pass zone explicitly to zone-allocation on x64 and ARM.

This is a very mechanical change to reduce the number of calls to
Isolate::Current that come with every plain new-allocation.

BUG=v8:1802
Review URL: https://chromiumcodereview.appspot.com/9491004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoThread the current isolate through a few places, avoiding Isolate::Current().
svenpanne@chromium.org [Tue, 28 Feb 2012 10:32:02 +0000 (10:32 +0000)]
Thread the current isolate through a few places, avoiding Isolate::Current().

This removes approx. 12k calls of Isolate::Current() in string-tagcloud.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPort string construct stub to x64.
mstarzinger@chromium.org [Tue, 28 Feb 2012 10:20:57 +0000 (10:20 +0000)]
Port string construct stub to x64.

R=yangguo@chromium.org
BUG=v8:849

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFurther refactoring of declarations in the AST:
rossberg@chromium.org [Tue, 28 Feb 2012 10:12:39 +0000 (10:12 +0000)]
Further refactoring of declarations in the AST:

Define modules as module declarations.
Separate function declarations from var declarations.

R=jkummerow@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.9.13.
ulan@chromium.org [Tue, 28 Feb 2012 09:45:17 +0000 (09:45 +0000)]
Prepare push to trunk.  Now working on version 3.9.13.

R=yangguo@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix presubmit errors in previous revision.
mstarzinger@chromium.org [Tue, 28 Feb 2012 09:38:16 +0000 (09:38 +0000)]
Fix presubmit errors in previous revision.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoImplement inlining of constructor calls.
mstarzinger@chromium.org [Tue, 28 Feb 2012 09:05:55 +0000 (09:05 +0000)]
Implement inlining of constructor calls.

R=vegorov@chromium.org,kmillikin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix the negative lookup stub to handle deleted entries in a
erik.corry@gmail.com [Tue, 28 Feb 2012 08:32:44 +0000 (08:32 +0000)]
Fix the negative lookup stub to handle deleted entries in a
dictionary.  This fixes http://code.google.com/p/v8/issues/detail?id=1964
"Closure-uri benchmark is sensitive to hash seed".
Review URL: https://chromiumcodereview.appspot.com/9463012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoHandle CALLBACKS correctly in IsProperty functions.
svenpanne@chromium.org [Tue, 28 Feb 2012 07:16:50 +0000 (07:16 +0000)]
Handle CALLBACKS correctly in IsProperty functions.

With transitions in AccessorPairs, it is not enough to look at the PropertyType
alone to decide whether we look at a property or not: For objects with
JavaScript accessors, we have to look into the AccessorPair itself and see if
one of its 2 parts is actually a JavaScript accessor. Therefore, a predicate
with a PropertyType argument alone doesn't make sense anymore, we might need the
associated value, too.

Things are complicated by the fact that the holder in a LookupResult can be
NULL, so we must be careful to retrieve its value only when it is really
needed. To achieve the needed call-by-name semantics, a new Entry is introduced,
which is basically a closure over a DescriptorArray and an index into this array
(C++0x to the rescue!). GCC is clever enough to inline this class, so we pay no
runtime penalty for this abstraction.

It's all a bit ugly, but this is caused by the current structure of Descriptor,
DescriptorArray and LookupResult: Things would be much easier if DescriptorArray
were, well, an array of Descriptors, and LookupResult were a 'Maybe Descriptor'
(in Haskell-terms).

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRemove now unused CalculateExactRetainedSize function & co.
mikhail.naganov@gmail.com [Mon, 27 Feb 2012 15:42:36 +0000 (15:42 +0000)]
Remove now unused CalculateExactRetainedSize function & co.

This patch changes the signature of the v8::HeapGraphNode::GetRetainedSize method, but it's not used in Chromium, and it should be easy for other clients (if any) to adjust to this change.

BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/9466014
Patch from Alexei Filippov <alexeif@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdds a new API where the host can supply a callback function. The callback function...
vegorov@chromium.org [Mon, 27 Feb 2012 15:15:53 +0000 (15:15 +0000)]
Adds a new API where the host can supply a callback function. The callback function can resolve the location of a return address on stack to the location where a return-address rewriting profiler stashed the original return address.

Review URL: https://chromiumcodereview.appspot.com/9401019
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoWhen compiling for-in pass correct context value to the increment instruction.
vegorov@chromium.org [Mon, 27 Feb 2012 14:37:27 +0000 (14:37 +0000)]
When compiling for-in pass correct context value to the increment instruction.

Additionally force increment instruction to use int32 representation.

R=fschneider@google.com
BUG=http://crbug.com/115646
TEST=test/mjsunit/compiler/optimized-for-in.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Profiler experiments: Fix debugger in the presence of self-optimization headers
jkummerow@chromium.org [Mon, 27 Feb 2012 14:24:08 +0000 (14:24 +0000)]
MIPS: Profiler experiments: Fix debugger in the presence of self-optimization headers

Port r10834 (0ce8cc524).

Note: this commit is a simple fix-up for FullCodeGenerator::self_optimization_header_size().

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9466050
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoUpdate break points set with partial file name after compile.
yangguo@chromium.org [Mon, 27 Feb 2012 11:52:08 +0000 (11:52 +0000)]
Update break points set with partial file name after compile.

BUG=v8:1853

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.9.12.
yangguo@chromium.org [Mon, 27 Feb 2012 11:44:53 +0000 (11:44 +0000)]
Prepare push to trunk.  Now working on version 3.9.12.

R=ulan@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoDisable for-in support in Crankshaft while crashes and regressions are being investig...
vegorov@chromium.org [Mon, 27 Feb 2012 10:43:57 +0000 (10:43 +0000)]
Disable for-in support in Crankshaft while crashes and regressions are being investigated.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoProfiler experiments: fix snapshotting with count-based interrupts
jkummerow@chromium.org [Mon, 27 Feb 2012 08:45:39 +0000 (08:45 +0000)]
Profiler experiments: fix snapshotting with count-based interrupts

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoProfiler experiments: Don't add self-optimization headers to functions that can't...
jkummerow@chromium.org [Mon, 27 Feb 2012 08:11:04 +0000 (08:11 +0000)]
Profiler experiments: Don't add self-optimization headers to functions that can't be optimized anyway

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoProfiler experiments: be more careful when accessing TypeFeedbackInfo
jkummerow@chromium.org [Mon, 27 Feb 2012 08:08:14 +0000 (08:08 +0000)]
Profiler experiments: be more careful when accessing TypeFeedbackInfo

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoProfiler experiments: Fix debugger in the presence of self-optimization headers
jkummerow@chromium.org [Mon, 27 Feb 2012 07:49:14 +0000 (07:49 +0000)]
Profiler experiments: Fix debugger in the presence of self-optimization headers

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRemove obsolete test262 test cases from status file.
mstarzinger@chromium.org [Fri, 24 Feb 2012 16:01:22 +0000 (16:01 +0000)]
Remove obsolete test262 test cases from status file.

R=rossberg@chromium.org
TEST=test262/S15.10.2.11_A1_T?

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMake 'module' a context-sensitive keyword.
rossberg@chromium.org [Fri, 24 Feb 2012 15:53:09 +0000 (15:53 +0000)]
Make 'module' a context-sensitive keyword.

Baseline: http://codereview.chromium.org/9401008/

R=lrn@chromium.org,mstarzinger@chromium.org
BUG=v8:1957
TEST=mjsunit/harmony/module-parsing

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoTune snapshot taking progress indicator.
mikhail.naganov@gmail.com [Fri, 24 Feb 2012 15:46:45 +0000 (15:46 +0000)]
Tune snapshot taking progress indicator.

As of dominators and retained sizes calculation take quite small time now
comparing to the main passes, it is worth to exclude these from progress
indicator. Now the indicator smoothly runs to 100%, while previously
it ran to 50% and then instantly jumped to 100%.

BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/9465010
Patch from Alexei Filippov <alexeif@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.9.11.
yangguo@chromium.org [Fri, 24 Feb 2012 14:39:17 +0000 (14:39 +0000)]
Prepare push to trunk.  Now working on version 3.9.11.

R=jkummerow@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix redefining of attributes on aliased arguments.
mstarzinger@chromium.org [Fri, 24 Feb 2012 14:34:01 +0000 (14:34 +0000)]
Fix redefining of attributes on aliased arguments.

This allows elements of the non-strict arguments object to be redefined
with custom attributes and still maintain an alias into the context.
Such a slow alias is maintained by placing a special marker into the
dictionary backing store of the arguments object.

R=rossberg@chromium.org
BUG=v8:1772
TEST=test262,mjsunit/object-define-property

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix strict mode in d8.js.
yangguo@chromium.org [Fri, 24 Feb 2012 14:01:34 +0000 (14:01 +0000)]
Fix strict mode in d8.js.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRevert "Tune snapshot taking progress indicator."
mikhail.naganov@gmail.com [Fri, 24 Feb 2012 13:32:58 +0000 (13:32 +0000)]
Revert "Tune snapshot taking progress indicator."

This reverts commit 630437a0239ce4de029ea367083cb12a8099506c.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSimplified return values a bit when defining accessors.
svenpanne@chromium.org [Fri, 24 Feb 2012 13:04:16 +0000 (13:04 +0000)]
Simplified return values a bit when defining accessors.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoTune snapshot taking progress indicator.
mikhail.naganov@gmail.com [Fri, 24 Feb 2012 12:52:35 +0000 (12:52 +0000)]
Tune snapshot taking progress indicator.

As of dominators and retained sizes calculation take quite small time now
comparing to the main passes, it is worth to exclude these from progress
indicator. Now the indicator smoothly runs to 100%, while previously
it ran to 50% and then instantly jumped to 100%.

BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/9463008
Patch from Alexei Filippov <alexeif@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix Object.getOwnPropertyDescriptor in string elements.
mstarzinger@chromium.org [Fri, 24 Feb 2012 11:58:09 +0000 (11:58 +0000)]
Fix Object.getOwnPropertyDescriptor in string elements.

This fixes Object.getOwnPropertyDescriptor to report string character
elements as enumerable in accordance with the spec.

BUG=v8:862
TEST=mjsunit/get-own-property-descriptor

Review URL: https://chromiumcodereview.appspot.com/9447053
Patch from Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSome more speedup to the dominators tree building in heap profiler.
mikhail.naganov@gmail.com [Fri, 24 Feb 2012 11:16:12 +0000 (11:16 +0000)]
Some more speedup to the dominators tree building in heap profiler.

Replace timestamps with affected bool vector. Timestamps could cause
some entries marked as affected on iteration i, to be recalculated
twice on iterations i and i+1. Which is redundant.

BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/9467002
Patch from Alexei Filippov <alexeif@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix HConstant's hash function for smis on x64.
yangguo@chromium.org [Fri, 24 Feb 2012 10:59:12 +0000 (10:59 +0000)]
Fix HConstant's hash function for smis on x64.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix a performance bug in the register contraints for polymorphic loads.
fschneider@chromium.org [Fri, 24 Feb 2012 10:31:16 +0000 (10:31 +0000)]
Fix a performance bug in the register contraints for polymorphic loads.

The context is only needed in the esi register if there is a call to
the generic stub.
Review URL: https://chromiumcodereview.appspot.com/9467001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix compilation issue on Win64.
mstarzinger@chromium.org [Fri, 24 Feb 2012 09:45:27 +0000 (09:45 +0000)]
Fix compilation issue on Win64.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSpeed up removing phi nodes.
yangguo@chromium.org [Fri, 24 Feb 2012 08:46:10 +0000 (08:46 +0000)]
Speed up removing phi nodes.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix bug in r10812.
yangguo@chromium.org [Thu, 23 Feb 2012 15:37:27 +0000 (15:37 +0000)]
Fix bug in r10812.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSkip regress-1969 in x64.
yangguo@chromium.org [Thu, 23 Feb 2012 14:50:08 +0000 (14:50 +0000)]
Skip regress-1969 in x64.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00