platform/upstream/v8.git
12 years agoMIPS: Enabled mips in tools/disasm.py.
yangguo@chromium.org [Wed, 15 Feb 2012 08:18:06 +0000 (08:18 +0000)]
MIPS: Enabled mips in tools/disasm.py.

BUG=
TEST=

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

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

12 years agoMIPS: Split AST Declaration class, in preparation for new module declaration forms.
rossberg@chromium.org [Tue, 14 Feb 2012 16:07:47 +0000 (16:07 +0000)]
MIPS: Split AST Declaration class, in preparation for new module declaration forms.

Port r10662 (c8054f6).

Original commit message:

Turns Declaration into an abstract class, and introduces VariableDeclaration as a concrete subclass.

BUG=
TEST=

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

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

12 years agoProperly disable count-based profiler on non-ia32
jkummerow@chromium.org [Tue, 14 Feb 2012 16:05:40 +0000 (16:05 +0000)]
Properly disable count-based profiler on non-ia32

TEST=buildbot redness gone

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

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

12 years agoMIPS: Implement KeyedStoreICs to grow arrays on out-of-bound stores.
danno@chromium.org [Tue, 14 Feb 2012 15:49:10 +0000 (15:49 +0000)]
MIPS: Implement KeyedStoreICs to grow arrays on out-of-bound stores.

Port r10673 (18d3af5).

Original commit message:
Supports growing non-COW JSArray by a single element if the backing store has room, and initial allocation of a backing store for the store to index zero of an empty array  to kPreallocatedArrayElements elements (e.g. the [] array literal).

BUG=
TEST=

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

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

12 years agoFix crashing bugs in store-and-grow IC for double values.
danno@chromium.org [Tue, 14 Feb 2012 15:09:49 +0000 (15:09 +0000)]
Fix crashing bugs in store-and-grow IC for double values.

R=jkummerow@chromium.org
BUG=chromium:113924
TEST=test/mjsunit/regress/regress-113924.js

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

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

12 years agoAdd Navier-Stokes benchmark.
ulan@chromium.org [Tue, 14 Feb 2012 15:07:15 +0000 (15:07 +0000)]
Add Navier-Stokes benchmark.

R=danno@chromium.org,kasperl@chromium.com,stefanoc@chromium.org,sandholm@chromium.org

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

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

12 years agoReapply r10690 ("Temporarily disable inlining of Math.floor called as a function")
jkummerow@chromium.org [Tue, 14 Feb 2012 14:40:58 +0000 (14:40 +0000)]
Reapply r10690 ("Temporarily disable inlining of Math.floor called as a function")

This reverts r10692.

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

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

12 years agoSmall update to experimental profiler flags
jkummerow@chromium.org [Tue, 14 Feb 2012 14:28:37 +0000 (14:28 +0000)]
Small update to experimental profiler flags

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

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

12 years agoEnable optimization of top-level code and generate deoptimization support lazily.
fschneider@chromium.org [Tue, 14 Feb 2012 14:14:51 +0000 (14:14 +0000)]
Enable optimization of top-level code and generate deoptimization support lazily.

This change enables optimization of top-level and eval-code. For this to work, it adds
support for declaring global variables in optimized code.

At the same time it disables the eager generation of deoptimization support data
in the full code generator (originally introduced in
 r10040). This speeds up initial compilation and saves
memory for functions that won't be optimized. It requires
 recompiling the function with deoptimization
 support when we decide to optimize it.

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

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

12 years agoInitial support for count-based profiling
jkummerow@chromium.org [Tue, 14 Feb 2012 14:00:31 +0000 (14:00 +0000)]
Initial support for count-based profiling

(behind FLAG_count_based_interrupts; only on ia32)

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

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

12 years agoDon't treat function parameters as let-bound variables in Harmony mode.
rossberg@chromium.org [Tue, 14 Feb 2012 13:47:54 +0000 (13:47 +0000)]
Don't treat function parameters as let-bound variables in Harmony mode.

R=ulan@chromium.org
BUG=v8:1942
TEST=

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

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

12 years agoPrepare push to trunk. Now working on version 3.9.7.
ulan@chromium.org [Tue, 14 Feb 2012 11:44:01 +0000 (11:44 +0000)]
Prepare push to trunk.  Now working on version 3.9.7.

R=jkummerow@chromium.org
BUG=
TEST=

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

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

12 years agoRevert r10690. Enable inlining of Math.floor again.
fschneider@chromium.org [Tue, 14 Feb 2012 10:43:40 +0000 (10:43 +0000)]
Revert r10690. Enable inlining of Math.floor again.

The test failures reported in issue v8:1947 are unrelated to this change since it is not reproducible anymore.

BUG=v8:1947
Review URL: https://chromiumcodereview.appspot.com/9365048

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

12 years agoobjects: fix template-related linker error
danno@chromium.org [Tue, 14 Feb 2012 09:42:38 +0000 (09:42 +0000)]
objects: fix template-related linker error

R=erik.corry@gmail.com
BUG=1936
TEST=

Review URL: https://chromiumcodereview.appspot.com/9382033
Patch from Fedor Indutny <fedor@indutny.com>.

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

12 years agoTemporarily disable inlining of Math.floor called as a function because of test failures.
fschneider@chromium.org [Tue, 14 Feb 2012 09:42:31 +0000 (09:42 +0000)]
Temporarily disable inlining of Math.floor called as a function because of test failures.

BUG=v8:1947
Review URL: https://chromiumcodereview.appspot.com/9359032

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

12 years agoAllow inlining of functions containing object literals.
mstarzinger@chromium.org [Tue, 14 Feb 2012 08:57:10 +0000 (08:57 +0000)]
Allow inlining of functions containing object literals.

R=fschneider@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals

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

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

12 years agoPort r10674 to MIPS.
yangguo@chromium.org [Tue, 14 Feb 2012 08:45:32 +0000 (08:45 +0000)]
Port r10674 to MIPS.

BUG=
TEST=

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

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

12 years agoFix crash when using --smi-only-arrays and --trace-elements-transitions
yangguo@chromium.org [Tue, 14 Feb 2012 08:38:03 +0000 (08:38 +0000)]
Fix crash when using --smi-only-arrays and --trace-elements-transitions

BUG=
TEST=3d-cube on debug mode with --smi-only-arrays and --trace-elements-transitions

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

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

12 years agoClear map transitions in CALLBACKS when normalizing properties.
svenpanne@chromium.org [Mon, 13 Feb 2012 14:41:46 +0000 (14:41 +0000)]
Clear map transitions in CALLBACKS when normalizing properties.

As a bonus, simplify the surrounding code a bit by using the templatized To method.

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

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

12 years agoDescriptorArray::CopyFrom should always drop transitions for CALLBACKS.
svenpanne@chromium.org [Mon, 13 Feb 2012 14:15:43 +0000 (14:15 +0000)]
DescriptorArray::CopyFrom should always drop transitions for CALLBACKS.

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

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

12 years agoFix crash in CALLBACK KeyedIC stub.
danno@chromium.org [Mon, 13 Feb 2012 13:39:31 +0000 (13:39 +0000)]
Fix crash in CALLBACK KeyedIC stub.

TBR=jkummerow@chromium.org

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

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

12 years agoOptimize call sites that only ever see a single elements transition
danno@chromium.org [Mon, 13 Feb 2012 11:37:39 +0000 (11:37 +0000)]
Optimize call sites that only ever see a single elements transition

R=jkummerow@chromium.org
TEST=imaging-gaussian-blur performance improves

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

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

12 years agoFix test expectations for the tickprocessor.
yangguo@chromium.org [Mon, 13 Feb 2012 10:24:55 +0000 (10:24 +0000)]
Fix test expectations for the tickprocessor.

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

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

12 years agoEnsure that we do a non-incremental GC before relying on weak handle callbacks.
svenpanne@chromium.org [Mon, 13 Feb 2012 10:13:52 +0000 (10:13 +0000)]
Ensure that we do a non-incremental GC before relying on weak handle callbacks.

Previously, some tests failed when being run with a low GC interval. This was
caused by a switch of the GC to incremental marking mode, which in turn did not
fire any callbacks for weak global handles. Now we make sure that we run in
non-incremental mode, although via a slightly misleading GC flag.

We should probably review the uses of PerformScavenge() and gc() in our tests to
see if they actually mean "make sure our callbacks fired".

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

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

12 years agoAdd --call-graph-size option to tickprocessor.
yangguo@chromium.org [Mon, 13 Feb 2012 10:07:57 +0000 (10:07 +0000)]
Add --call-graph-size option to tickprocessor.

BUG=v8:1937

Review URL: https://chromiumcodereview.appspot.com/9386007
Patch from Ben Noordhuis <info@bnoordhuis.nl>.

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

12 years agoPort r10674 to x64 and arm.
yangguo@chromium.org [Mon, 13 Feb 2012 08:21:01 +0000 (08:21 +0000)]
Port r10674 to x64 and arm.

BUG=
TEST=

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

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

12 years agoMIPS: Fixed several bugs in SubStringStub::Generate.
yangguo@chromium.org [Mon, 13 Feb 2012 08:17:32 +0000 (08:17 +0000)]
MIPS: Fixed several bugs in SubStringStub::Generate.

A combination of bugs caused this function to almost always jump to runtime
which is why most tests passed.

BUG=
TEST=sputnik/S15.5.4.13_A2_T6

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

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

12 years agoMIPS: Count-based profiling for primitive functions (hidden behind a flag)
jkummerow@chromium.org [Fri, 10 Feb 2012 16:26:55 +0000 (16:26 +0000)]
MIPS: Count-based profiling for primitive functions (hidden behind a flag)

Port r10657 (92073cf).

BUG=
TEST=

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

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

12 years agoHeap Snapshot maximum size limit is too low for really big apps.
loislo@chromium.org [Fri, 10 Feb 2012 14:00:16 +0000 (14:00 +0000)]
Heap Snapshot maximum size limit is too low for really big apps.
At the moment the limit is 256MB.

BUG=113015
TEST=none

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

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

12 years agoProvide user-friendly access to natively bound function parameters
yurys@chromium.org [Fri, 10 Feb 2012 13:54:20 +0000 (13:54 +0000)]
Provide user-friendly access to natively bound function parameters

For a closure created using native Function.prototype.bind() the most important information for the heap profiler user is bound function, receiver and arguments. This change adds shortcuts for those fields.
Review URL: https://chromiumcodereview.appspot.com/9382002

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

12 years agoImplement elements transitions in ia32 Array constructor with n args.
danno@chromium.org [Fri, 10 Feb 2012 12:41:48 +0000 (12:41 +0000)]
Implement elements transitions in ia32 Array constructor with n args.

R=yangguo@chromium.org

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

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

12 years agoImplement KeyedStoreICs to grow arrays on out-of-bound stores.
danno@chromium.org [Fri, 10 Feb 2012 12:36:05 +0000 (12:36 +0000)]
Implement KeyedStoreICs to grow arrays on out-of-bound stores.

Supports growing non-COW JSArray by a single element if the backing store has room, and initial allocation of a backing store for the store to index zero of an empty array  to kPreallocatedArrayElements elements (e.g. the [] array literal).

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

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

12 years agoFix crashes on x64 with smi-only arrays active.
yangguo@chromium.org [Fri, 10 Feb 2012 12:28:25 +0000 (12:28 +0000)]
Fix crashes on x64 with smi-only arrays active.

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

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

12 years agoStreamline throwing in the C entry stub.
kmillikin@chromium.org [Fri, 10 Feb 2012 08:47:35 +0000 (08:47 +0000)]
Streamline throwing in the C entry stub.

Remove a gratuitous level of indirection in favor of direct calls to the
macro assembler, and eliminate some duplicated code for the uncatchable
case.

R=fschneider@chromium.org
BUG=
TEST=

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

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

12 years agoSmall cleanup of ast.h.
kmillikin@chromium.org [Fri, 10 Feb 2012 08:35:57 +0000 (08:35 +0000)]
Small cleanup of ast.h.

Somehow the definition of DECLARE_NODE_TYPE was duplicated and never undef'd.

R=jkummerow@chromium.org
BUG=
TEST=

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

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

12 years agoAdd asserts to try to flush out test flakiness.
danno@chromium.org [Thu, 9 Feb 2012 17:29:26 +0000 (17:29 +0000)]
Add asserts to try to flush out test flakiness.

R=mstarzinger@chromium.org

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

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

12 years agoEnsure expected behavior for transition hosting tests by flushing ICs
danno@chromium.org [Thu, 9 Feb 2012 14:55:32 +0000 (14:55 +0000)]
Ensure expected behavior for transition hosting tests by flushing ICs

R=jkummerow@chromium.org

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

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

12 years agoMake constructors explicit.
rossberg@chromium.org [Thu, 9 Feb 2012 13:54:45 +0000 (13:54 +0000)]
Make constructors explicit.

R=jkummerow@chromium.org
BUG=
TEST=

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

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

12 years agoPrepare push to trunk. Now working on version 3.9.6.
yangguo@chromium.org [Thu, 9 Feb 2012 13:49:30 +0000 (13:49 +0000)]
Prepare push to trunk.  Now working on version 3.9.6.

R=jkummerow@chromium.org
BUG=
TEST=

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

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

12 years agoExtend AST with basic module constructs (yet unused).
rossberg@chromium.org [Thu, 9 Feb 2012 13:40:41 +0000 (13:40 +0000)]
Extend AST with basic module constructs (yet unused).

R=jkummerow@chromium.org
BUG=
TEST=

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

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

12 years agoSplit AST Declaration class, in preparation for new module declaration forms.
rossberg@chromium.org [Thu, 9 Feb 2012 13:39:26 +0000 (13:39 +0000)]
Split AST Declaration class, in preparation for new module declaration forms.

Turns Declaration into an abstract class, and introduces VariableDeclaration as a concrete subclass.

R=kmillikin@chromium.org
BUG=
TEST=

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

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

12 years agoMIPS: Convert fast smi-only to fast object in generated code for array push.
yangguo@chromium.org [Thu, 9 Feb 2012 13:32:11 +0000 (13:32 +0000)]
MIPS: Convert fast smi-only to fast object in generated code for array push.

Port r10648 (818a1aa).

BUG=
TEST=

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

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

12 years agoSplit experimental profiler flags
jkummerow@chromium.org [Thu, 9 Feb 2012 13:30:01 +0000 (13:30 +0000)]
Split experimental profiler flags

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

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

12 years agoRevert 9111036: Promote double arrays to FAST_ELEMENT that use generic KeyedLoadIC
danno@chromium.org [Thu, 9 Feb 2012 13:07:46 +0000 (13:07 +0000)]
Revert 9111036: Promote double arrays to FAST_ELEMENT that use generic KeyedLoadIC

It tanked Kraken.

TBR=jkummerow@chromium.org

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

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

12 years agoHandlify GetSourceCode-related functions.
svenpanne@chromium.org [Thu, 9 Feb 2012 10:46:50 +0000 (10:46 +0000)]
Handlify GetSourceCode-related functions.

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

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

12 years agoCount-based profiling for primitive functions (hidden behind a flag)
jkummerow@chromium.org [Thu, 9 Feb 2012 10:19:46 +0000 (10:19 +0000)]
Count-based profiling for primitive functions (hidden behind a flag)

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

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

12 years agoCleaned up DescriptorArray::CopyInsert a bit.
svenpanne@chromium.org [Thu, 9 Feb 2012 09:55:14 +0000 (09:55 +0000)]
Cleaned up DescriptorArray::CopyInsert a bit.

The point of this refactoring is to remove some copy 'n' paste from the code,
preparing some upcoming changes related to CopyFrom and CALLBACKS with
transitions. The index fiddling is tricky enough to warrant a separate
refacoring-only CL...

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

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

12 years agoFix d8-os unit test to be skipped for isolates.
mstarzinger@chromium.org [Thu, 9 Feb 2012 09:52:38 +0000 (09:52 +0000)]
Fix d8-os unit test to be skipped for isolates.

This test sets the umask on a per-process basis and hence cannot be
used in multi-threaded runs.

R=yangguo@chromium.org
TEST=mjsunit/d8-os

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

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

12 years agoSimplify handler pushing.
kmillikin@chromium.org [Thu, 9 Feb 2012 09:43:37 +0000 (09:43 +0000)]
Simplify handler pushing.

Instead of using two separate bits to encode three possible values, use
three values to encode the three possible values.

R=svenpanne@chromium.org
BUG=
TEST=

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

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

12 years agoSimplify stackframe of construct stub on ARM and MIPS.
mstarzinger@chromium.org [Thu, 9 Feb 2012 09:13:31 +0000 (09:13 +0000)]
Simplify stackframe of construct stub on ARM and MIPS.

This unifies the stackframe layout of the generic constructor stub to be
in sync with ia32 and x64. There was an unecessary copy of the construct
function saved on the stack which wasn't used at all.

R=erik.corry@gmail.com

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

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

12 years agoPromote double arrays to FAST_ELEMENT that use generic KeyedLoadIC
danno@chromium.org [Thu, 9 Feb 2012 09:11:04 +0000 (09:11 +0000)]
Promote double arrays to FAST_ELEMENT that use generic KeyedLoadIC

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

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

12 years agoImprove GVN handling of ElementTransitions.
danno@chromium.org [Thu, 9 Feb 2012 08:58:19 +0000 (08:58 +0000)]
Improve GVN handling of ElementTransitions.

BUG=
TEST=

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

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

12 years agoIncrease timeout when running test.py with the --stress-opt option.
fschneider@chromium.org [Thu, 9 Feb 2012 08:47:18 +0000 (08:47 +0000)]
Increase timeout when running test.py  with the --stress-opt option.
Review URL: https://chromiumcodereview.appspot.com/9361033

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

12 years agoBash completion for d8: fix directory name completion
jkummerow@chromium.org [Wed, 8 Feb 2012 17:20:35 +0000 (17:20 +0000)]
Bash completion for d8: fix directory name completion

TEST="out/ia32.release/d8 te<tab>" gets completed to "test/" with trailing slash

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

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

12 years agoConvert fast smi-only to fast object in generated code for array push.
yangguo@chromium.org [Wed, 8 Feb 2012 17:05:59 +0000 (17:05 +0000)]
Convert fast smi-only to fast object in generated code for array push.

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

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

12 years agoEnsure that regexp code flushing correctly updates slots buffer.
vegorov@chromium.org [Wed, 8 Feb 2012 15:44:07 +0000 (15:44 +0000)]
Ensure that regexp code flushing correctly updates slots buffer.

Enable code compaction again.

R=erik.corry@gmail.com

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

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

12 years agoRemove 5 unused flags.
erik.corry@gmail.com [Wed, 8 Feb 2012 15:39:41 +0000 (15:39 +0000)]
Remove 5 unused flags.
Review URL: https://chromiumcodereview.appspot.com/9362014

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

12 years agoMIPS: Handle single element array growth + transition in generic KeyedStoreIC
danno@chromium.org [Wed, 8 Feb 2012 14:43:36 +0000 (14:43 +0000)]
MIPS: Handle single element array growth + transition in generic KeyedStoreIC

Port r10583 (505679e).

BUG=
TEST=

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

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

12 years agoMIPS: Don't allow large immediates for certain instructions.
danno@chromium.org [Wed, 8 Feb 2012 14:41:10 +0000 (14:41 +0000)]
MIPS: Don't allow large immediates for certain instructions.

Some instructions can use >16 bit immediates if they represent a <=16 bit signed value.
However some logical instructions (andi, xori, ori, lui) should always treat the immediate value as unsigned.
This patch adds an ASSERT to these places and a minor change to MacroAssembler::li to satisfy this.

BUG=
TEST=

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

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

12 years agoRemove the JSON AST printing support.
kmillikin@chromium.org [Wed, 8 Feb 2012 13:53:24 +0000 (13:53 +0000)]
Remove the JSON AST printing support.

We are not currently maintaining or testing this.

R=danno@chromium.org
BUG=
TEST=

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

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

12 years agoMIPS: Enabled native/cross-compilation for MIPS targets in the gyp system.
jkummerow@chromium.org [Wed, 8 Feb 2012 13:14:24 +0000 (13:14 +0000)]
MIPS: Enabled native/cross-compilation for MIPS targets in the gyp system.

Also added selectable mips32r2 mode.

BUG=
TEST=

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

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

12 years agoRemove remaining occurrences of the unused --opt-eagerly flag.
fschneider@chromium.org [Wed, 8 Feb 2012 12:49:04 +0000 (12:49 +0000)]
Remove remaining occurrences of the unused --opt-eagerly flag.

Fix a lint error.
Review URL: https://chromiumcodereview.appspot.com/9365015

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

12 years agoInline builtin Math functions functions in more cases.
fschneider@chromium.org [Wed, 8 Feb 2012 12:08:46 +0000 (12:08 +0000)]
Inline builtin Math functions functions in more cases.

Until now we only could inline as specialized HIR instructions when called
as a method (e.g. Math.abs)

It is very common practice to abbreviate calls to those functions by defining
a global or local variable like:

var a = Math.abs;
var x = a(123);

This change allows inlining them when called as a function (global or local).
Review URL: https://chromiumcodereview.appspot.com/9365013

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

12 years agoFix d8-os unit test to work with isolates.
mstarzinger@chromium.org [Wed, 8 Feb 2012 10:59:19 +0000 (10:59 +0000)]
Fix d8-os unit test to work with isolates.

We cannot use chdir to set the working directory on a per-isolate basis,
hence we need to specify absolute directories instead for this test to
work properly on multi-threaded runs.

R=yangguo@chromium.org
TEST=mjsunit/d8-os

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

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

12 years agoExtend scanner with new Harmony module keywords (under flag).
rossberg@chromium.org [Wed, 8 Feb 2012 10:53:58 +0000 (10:53 +0000)]
Extend scanner with new Harmony module keywords (under flag).

R=mstarzinger@chromium.org
BUG=
TEST=

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

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

12 years agoMIPS: Fix compilation error after removing an unused flag.
fschneider@chromium.org [Wed, 8 Feb 2012 10:33:30 +0000 (10:33 +0000)]
MIPS: Fix compilation error after removing an unused flag.

TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9348049

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

12 years agoRemove another two unused flags.
fschneider@chromium.org [Wed, 8 Feb 2012 10:26:17 +0000 (10:26 +0000)]
Remove another two unused flags.
Review URL: https://chromiumcodereview.appspot.com/9358019

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

12 years agoPrepare push to trunk. Now working on version 3.9.5.
svenpanne@chromium.org [Wed, 8 Feb 2012 10:23:10 +0000 (10:23 +0000)]
Prepare push to trunk.  Now working on version 3.9.5.

R=jkummerow@chromium.org
BUG=
TEST=

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

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

12 years agoEnable membrane example for proxies again.
mstarzinger@chromium.org [Wed, 8 Feb 2012 10:14:18 +0000 (10:14 +0000)]
Enable membrane example for proxies again.

R=rossberg@chromium.org
BUG=v8:1845
TEST=mjsunit/harmony/proxies-example-membrane

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

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

12 years agoCollect AstNode type information
jkummerow@chromium.org [Wed, 8 Feb 2012 09:56:33 +0000 (09:56 +0000)]
Collect AstNode type information

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

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

12 years agoRemove unused --peephole-optimization flag.
kmillikin@chromium.org [Wed, 8 Feb 2012 09:55:25 +0000 (09:55 +0000)]
Remove unused --peephole-optimization flag.

R=danno@chromium.org
BUG=
TEST=

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

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

12 years agoFix elements transition bug related to array.concat.
yangguo@chromium.org [Wed, 8 Feb 2012 09:50:13 +0000 (09:50 +0000)]
Fix elements transition bug related to array.concat.

BUG=
TEST=

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

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

12 years agoFix handling of 'c: if (0) break c; else ()' where a parser optimization
lrn@chromium.org [Wed, 8 Feb 2012 08:40:11 +0000 (08:40 +0000)]
Fix handling of 'c: if (0) break c; else ()' where a parser optimization
leaves a trailing ";" after removing the break.

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

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

12 years agoFixed assertions when accessing the hidden properties dictionary.
svenpanne@chromium.org [Wed, 8 Feb 2012 07:23:14 +0000 (07:23 +0000)]
Fixed assertions when accessing the hidden properties dictionary.

TBR=jkummerow@chromium.org

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

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

12 years agoDisable code compaction again.
vegorov@chromium.org [Tue, 7 Feb 2012 16:34:26 +0000 (16:34 +0000)]
Disable code compaction again.

Check failures are gone but now layout tests are failing.

R=fschneider@chromium.org

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

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

12 years agoTry enabling (non-incremental) code compaction again.
vegorov@chromium.org [Tue, 7 Feb 2012 14:43:51 +0000 (14:43 +0000)]
Try enabling (non-incremental) code compaction again.

This time include slot-recording fixes in code flushing that were accidentally omitted from the previous commit.

R=mstarzinger@chromium.org

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

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

12 years agoProperly initialize element-transitioning array literals on ARM.
danno@chromium.org [Tue, 7 Feb 2012 14:03:13 +0000 (14:03 +0000)]
Properly initialize element-transitioning array literals on ARM.

R=erikcorry@gmail.com
BUG=v8:1930
TEST=unit tests with enable_vfp3=true

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

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

12 years agoAdd filename completion to d8's bash completion.
yangguo@chromium.org [Tue, 7 Feb 2012 12:40:48 +0000 (12:40 +0000)]
Add filename completion to d8's bash completion.

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

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

12 years agoPrepare push to trunk. Now working on version 3.9.4.
jkummerow@chromium.org [Tue, 7 Feb 2012 12:04:36 +0000 (12:04 +0000)]
Prepare push to trunk.  Now working on version 3.9.4.

R=yangguo@chromium.org

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

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

12 years agoDisable code compaction again while we investigate buildbot check failures.
vegorov@chromium.org [Tue, 7 Feb 2012 10:03:08 +0000 (10:03 +0000)]
Disable code compaction again while we investigate buildbot check failures.
Review URL: https://chromiumcodereview.appspot.com/9351013

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

12 years agoWhen rethrowing an exception, print the stack trace of its original site instead...
yangguo@chromium.org [Tue, 7 Feb 2012 09:31:06 +0000 (09:31 +0000)]
When rethrowing an exception, print the stack trace of its original site instead of rethrow site.

BUG=60240

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

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

12 years agoDescriptorArray::IsProperty-related cleanup.
svenpanne@chromium.org [Tue, 7 Feb 2012 08:59:03 +0000 (08:59 +0000)]
DescriptorArray::IsProperty-related cleanup.

More minor changes related to property predicates:

 * Slightly simplify logic when handling hidden properties.

 * Make IsProperty usage more consistent in RemoveTransitions.

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

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

12 years agoEnable non-incremental code compaction.
vegorov@chromium.org [Tue, 7 Feb 2012 08:51:47 +0000 (08:51 +0000)]
Enable non-incremental code compaction.

It is intended to bring memory usage down on idle notifications.

R=erik.corry@gmail.com
BUG=v8:1726

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

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

12 years agoIncrease size of small stacks from 32k to 64k to avoid hitting
erik.corry@gmail.com [Tue, 7 Feb 2012 08:00:36 +0000 (08:00 +0000)]
Increase size of small stacks from 32k to 64k to avoid hitting
limits in Chromium.
http://code.google.com/p/chromium/issues/detail?id=112843
Review URL: https://chromiumcodereview.appspot.com/9353006

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

12 years agoI will apply it to the nodes that can't be mapped to Heap object or Native object.
loislo@chromium.org [Tue, 7 Feb 2012 05:21:00 +0000 (05:21 +0000)]
I will apply it to the nodes that can't be mapped to Heap object or Native object.
As example there are 'Detached DOM Tree' nodes in WebKit. It is very useful to be able to see all such
nodes grouped together. It can be done with help of some post processing but I did this explicitly
on v8 side because it is much faster. At the moment this kind of nodes has kNative type.
I'd like to hide these nodes from the Retainment View but I can filter them only by name.

BUG=none
TEST=HeapSnapshotRetainedObjectInfo

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

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

12 years agoGrow lists by a factor of 2 instead of 1.5 on a resize.
fschneider@chromium.org [Mon, 6 Feb 2012 16:23:40 +0000 (16:23 +0000)]
Grow lists by a factor of 2 instead of 1.5 on a resize.

For zone lists this avoids resizing and reduces overall allocation
in most cases (especially for small lists).
Review URL: https://chromiumcodereview.appspot.com/9323078

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

12 years agoBash completion for d8 flags
jkummerow@chromium.org [Mon, 6 Feb 2012 15:06:24 +0000 (15:06 +0000)]
Bash completion for d8 flags

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

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

12 years agoConsolidated property counting methods a bit.
svenpanne@chromium.org [Mon, 6 Feb 2012 13:54:46 +0000 (13:54 +0000)]
Consolidated property counting methods a bit.

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

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

12 years agoRemoved PropertyDetails::IsProperty.
svenpanne@chromium.org [Mon, 6 Feb 2012 12:11:40 +0000 (12:11 +0000)]
Removed PropertyDetails::IsProperty.

This is just an intermediate step to remove IsRealProperty.

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

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

12 years agoSpeed up two unit tests to avoid timeouts and make tests finish faster.
fschneider@chromium.org [Mon, 6 Feb 2012 11:40:24 +0000 (11:40 +0000)]
Speed up two unit tests to avoid timeouts and make tests finish faster.
Review URL: https://chromiumcodereview.appspot.com/9309118

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

12 years agoX64: Fix bug in minus-zero check after int32 multiplication.
fschneider@chromium.org [Mon, 6 Feb 2012 10:08:57 +0000 (10:08 +0000)]
X64: Fix bug in minus-zero check after int32 multiplication.

In optimized x64 code, the check for minus zero after multiplication
used the wrong size bit-or instruction (64-bit instead of 32-bit).

TEST=mjsunit/numops-fuzz.js
Review URL: https://chromiumcodereview.appspot.com/9316127

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

12 years agoPrepare push to trunk. Now working on version 3.9.3.
rossberg@chromium.org [Mon, 6 Feb 2012 10:03:35 +0000 (10:03 +0000)]
Prepare push to trunk.  Now working on version 3.9.3.

R=danno@chromium.org
BUG=
TEST=

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

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

12 years agoAdd timestamp to --trace-gc output.
yangguo@chromium.org [Mon, 6 Feb 2012 08:59:43 +0000 (08:59 +0000)]
Add timestamp to --trace-gc output.

BUG=v8:1932
TEST=

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

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

12 years agoHeap profiler should report implicit references.
yurys@chromium.org [Fri, 3 Feb 2012 14:51:53 +0000 (14:51 +0000)]
Heap profiler should report implicit references.

Implicit references reported to V8 with V8::AddImplicitReferences calls are now reported by heap profiler as 'native' references with type kInternal.

Original WebKit bug report: https://bugs.webkit.org/show_bug.cgi?id=77414
Review URL: https://chromiumcodereview.appspot.com/9316092

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

12 years agoFix compilation failure introduced by r10601.
vegorov@chromium.org [Fri, 3 Feb 2012 14:30:48 +0000 (14:30 +0000)]
Fix compilation failure introduced by r10601.

Cast intptr_t to int in PrintFs.

TBR=erik.corry@gmail.com

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

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

12 years agoTweak compaction candidate selection to avoid keeping page with low occupancy around.
vegorov@chromium.org [Fri, 3 Feb 2012 14:16:40 +0000 (14:16 +0000)]
Tweak compaction candidate selection to avoid keeping page with low occupancy around.

Increase slots buffer chain length to 15 to make compaction more aggressive and usefull.

Pass gc and collector selection reasons to GCTracer to allow more meaningull --gc-trace.

Print fragmentation of spaces that we do not compact.

R=erik.corry@gmail.com

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

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

12 years agoRemoved IsTransitionType predicate.
svenpanne@chromium.org [Fri, 3 Feb 2012 13:37:13 +0000 (13:37 +0000)]
Removed IsTransitionType predicate.

With the upcoming changes to CALLBACKS properties, a predicate on the transition
type alone doesn't make sense anymore: For CALLBACKS one has to look into the
property's value to decide, and there is even the possibility of having a an
accessor function *and* a transition in the same property.

I am not completely happy with some parts of this CL, because they contain
redundant code, but given the various representations we currently have for
property type/value pairs, I can see no easy way around that. Perhaps one can
improve this a bit in a different CL, the current diversity really, really hurts
productivity...

As a bonus, this CL includes a few minor things:

 * CaseClause::RecordTypeFeedback has been cleaned up and it handles the
   NULL_DESCRIPTOR case correctly now. Under some (very unlikely) circumstances,
   we previously missed some opportunities for monomorphic calls. In general, it
   is rather unfortunate that NULL_DESCRIPTOR "shines through", it is just a
   hack for the inability to remove a descriptor entry during GC, something
   callers shouldn't have to be aware of.

 * DescriptorArray::CopyInsert has been cleaned up a bit, preparing it for later
   CALLBACKS-related changes.

 * LookupResult::Print is now more informative for CONSTANT_TRANSITION.

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

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

12 years agoARM: More micro-optimization of megamorphic lookup.
erik.corry@gmail.com [Fri, 3 Feb 2012 12:48:21 +0000 (12:48 +0000)]
ARM: More micro-optimization of megamorphic lookup.
Review URL: https://chromiumcodereview.appspot.com/9323004

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

12 years agoFix presubmit errors.
fschneider@chromium.org [Fri, 3 Feb 2012 12:43:33 +0000 (12:43 +0000)]
Fix presubmit errors.

TBR=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9309079

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

12 years agoAllow bailing out of the register allocator when running out of virtual registers.
fschneider@chromium.org [Fri, 3 Feb 2012 12:05:08 +0000 (12:05 +0000)]
Allow bailing out of the register allocator when running out of virtual registers.

1. Instead of checking upfront and estimating a limit for the number, we
now are able to stop register allocation and bailout when we don't
have enough virtual registers.

2. GCed some out-dated flags from flag-definition.h

3. Simplified the interface from the Lithium builder to the
register allocator in lithium-*.cc: For uses and definitions, we
just record the virtual register number given by the Hydrogen value id.
For temporaries, we request a new virtual register from the allocator.
For fixed temps, we don't need to do anything.

4. Increased number of deoptimization entries to 16K. Eventually we
probably want to make this array grow dynamically.
Review URL: https://chromiumcodereview.appspot.com/9325019

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