platform/upstream/v8.git
12 years agoMake sure that top bits are zero when storing untagged 32 bit values
erik.corry@gmail.com [Tue, 21 Feb 2012 09:11:35 +0000 (09:11 +0000)]
Make sure that top bits are zero when storing untagged 32 bit values
in 64 bit spill slots.
Review URL: https://chromiumcodereview.appspot.com/9378006

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

12 years agoMIPS: Enable optimization of top-level code and generate deoptimization support lazily.
fschneider@chromium.org [Tue, 21 Feb 2012 08:36:16 +0000 (08:36 +0000)]
MIPS: Enable optimization of top-level code and generate deoptimization support lazily.

Port r10700 (c976fbd5).

Original commit message:
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.

BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9418006

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

12 years agoCleaned up runtime macros a bit.
svenpanne@chromium.org [Tue, 21 Feb 2012 07:35:33 +0000 (07:35 +0000)]
Cleaned up runtime macros a bit.

The bulk of this CL is purely mechanical: Make the CONVERT_FOO macros more
uniform by always using an index instead of an object. Apart from this, it
includes a few minor changes like using CONVERT_SMI_ARG_CHECKED a bit more or
introducing a new macro for PropertyDetails. Nothing spectacular, just something
sitting on my disk for quite some time now...

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

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

12 years agoFix regression test after r10770.
mstarzinger@chromium.org [Mon, 20 Feb 2012 18:01:21 +0000 (18:01 +0000)]
Fix regression test after r10770.

R=yangguo@chromium.org
TEST=cctest/test-regexp/CharacterClassEscapes

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

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

12 years agoFix RegExp white-space character class to match BOMs.
mstarzinger@chromium.org [Mon, 20 Feb 2012 17:50:53 +0000 (17:50 +0000)]
Fix RegExp white-space character class to match BOMs.

R=rossberg@chromium.org
TEST=test262/S15.10.2.12_A?_T1,mjsunit/regexp

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

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

12 years agoFix svn-ignore property for scons build directory.
mstarzinger@chromium.org [Mon, 20 Feb 2012 16:03:00 +0000 (16:03 +0000)]
Fix svn-ignore property for scons build directory.

R=jkummerow@chromium.org (reviewed offline)

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

12 years agoEnable test-api/TurnOnAccessCheckAndRecompile and change it so it can't cause a GC.
fschneider@chromium.org [Mon, 20 Feb 2012 15:34:08 +0000 (15:34 +0000)]
Enable test-api/TurnOnAccessCheckAndRecompile and change it so it can't cause a GC.

A GC in the access check callbacks NamedSecurityCallback and IndexedSecurityCallback
violates the contract about these callbacks.

Added a EXTERNAL VMState scope around the call to FailedAccessCheckCallback to be
consistent with the other callback invocations.

BUG=v8:1952
TEST=cctest/test-api/TurnOnAccessCheckAndRecompile
Review URL: https://chromiumcodereview.appspot.com/9425048

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

12 years agoRemove strict mode from message.js, seems to break Error conformance.
rossberg@chromium.org [Mon, 20 Feb 2012 15:02:23 +0000 (15:02 +0000)]
Remove strict mode from message.js, seems to break Error conformance.

R=mstarzinger@chromium.org
BUG=
TEST=

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

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

12 years agoFix svn-ignore property for test directories.
mstarzinger@chromium.org [Mon, 20 Feb 2012 14:03:18 +0000 (14:03 +0000)]
Fix svn-ignore property for test directories.

R=jkummerow@chromium.org

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

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

12 years agoParsing of basic module declarations (no imports/exports yet).
rossberg@chromium.org [Mon, 20 Feb 2012 14:02:59 +0000 (14:02 +0000)]
Parsing of basic module declarations (no imports/exports yet).

Module definitions are not compiled or otherwise executed yet.
Toplevel module identifiers are bound but never initialized.

R=kmillikin@chromium.org,mstarzinger@google.com
BUG=
TEST=

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

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

12 years agoMake built-ins strict mode conforming, and support a --use-strict flag.
rossberg@chromium.org [Mon, 20 Feb 2012 13:48:24 +0000 (13:48 +0000)]
Make built-ins strict mode conforming, and support a --use-strict flag.

* Turned all uses of 'const' into 'var'.
* Turned all uses of local 'function' into 'var'.
* Added a couple of missing toplevel 'var' declarations.

One consequence is that the properties on the builtin object  are no longer
non-writable, and I had to adapt one test. Is that a problem?

Unfortunately, we cannot actually switch the library scripts to strict mode
by default, because that makes observable things like poisoned .caller properties
for library functions.

Also removed dead flag code in Compiler::Compile.

R=yangguo@chromium.org
BUG=
TEST=

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

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

12 years agoPort r10490 and r10615 to cygwin.
yangguo@chromium.org [Mon, 20 Feb 2012 13:42:24 +0000 (13:42 +0000)]
Port r10490 and r10615 to cygwin.

BUG=
TEST=

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

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

12 years agoFix presubmit.
ulan@chromium.org [Mon, 20 Feb 2012 13:22:02 +0000 (13:22 +0000)]
Fix presubmit.

R=yangguo@chromium.org

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

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

12 years agoEnable inlining for Math.min/max in more cases.
yangguo@chromium.org [Mon, 20 Feb 2012 13:21:15 +0000 (13:21 +0000)]
Enable inlining for Math.min/max in more cases.

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

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

12 years agoFix .gitignore for test data directories.
mstarzinger@chromium.org [Mon, 20 Feb 2012 13:17:20 +0000 (13:17 +0000)]
Fix .gitignore for test data directories.

R=ulan@chromium.org

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

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

12 years agoCount ICs that have type information.
jkummerow@chromium.org [Mon, 20 Feb 2012 12:57:23 +0000 (12:57 +0000)]
Count ICs that have type information.

Hidden behind --type-info-threshold=X flag, usage dependent on experimental profiler.

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

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

12 years agoFix compile error on windows.
ulan@chromium.org [Mon, 20 Feb 2012 12:36:35 +0000 (12:36 +0000)]
Fix compile error on windows.

R=yangguo@chromium.org

BUG=
TEST=

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

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

12 years agoFix memory leak and missing #include in StartupDataDecompressor
jkummerow@chromium.org [Mon, 20 Feb 2012 11:01:17 +0000 (11:01 +0000)]
Fix memory leak and missing #include in StartupDataDecompressor

BUG=v8:1960
TEST=compile with GYPFLAGS=-Dv8_compress_snapshot_data=bz2, then run d8 with valgrind

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

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

12 years agoAdd a missing check for a failure result.
fschneider@chromium.org [Mon, 20 Feb 2012 10:17:25 +0000 (10:17 +0000)]
Add a missing check for a failure result.

Function calls that may return a failure must use the result. Enforce
this by adding missing MUST_USE_RESULT to their declarations.
Review URL: https://chromiumcodereview.appspot.com/9421032

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

12 years agoFix test expectations after r10743.
mstarzinger@chromium.org [Mon, 20 Feb 2012 09:47:31 +0000 (09:47 +0000)]
Fix test expectations after r10743.

R=rossberg@chromium.org
TEST=mozilla,sputnik

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

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

12 years agoAvoid sharing AccessorPairs during Genesis.
svenpanne@chromium.org [Mon, 20 Feb 2012 08:42:18 +0000 (08:42 +0000)]
Avoid sharing AccessorPairs during Genesis.

To test the upcoming changes for map sharing in the presence of accessors, it is
essential that we keep a few global invariants: The map tree should always stay
a tree and AccessorPairs should not be shared between different DescriptorArrays
and/or StringDictionaries. This CL adds a test method for the latter invariant
and makes some changes to the bootstrapping process to avoid such sharing.

Note that we can't enable the new test method permanently yet, because we
currently go back and forth between fast mode and slow mode when adding an
accessor and break this invariant temporarily. This will be handled in a
separate CL.

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

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

12 years agoFix String.prototype.split for undefined separator.
mstarzinger@chromium.org [Mon, 20 Feb 2012 08:41:13 +0000 (08:41 +0000)]
Fix String.prototype.split for undefined separator.

R=rossberg@chromium.org
TEST=test262/S15.5.4.14_A?_T?

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

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

12 years agoAdd missing checks for failure after AddElementsTransition.
fschneider@chromium.org [Fri, 17 Feb 2012 16:02:20 +0000 (16:02 +0000)]
Add missing checks for failure after AddElementsTransition.
Review URL: https://chromiumcodereview.appspot.com/9416058

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

12 years agoMoved access checks out of Dictionary class.
svenpanne@chromium.org [Fri, 17 Feb 2012 13:48:43 +0000 (13:48 +0000)]
Moved access checks out of Dictionary class.

The checks were at the wrong abstraction level, JSObject is the right place for
this check. Note that other uses of ValueAtPut either don't need a check at all
(like the one used for copying boilerplate) or do the check for themselves.

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

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

12 years agoUpdate status file to recent test262 version.
mstarzinger@chromium.org [Fri, 17 Feb 2012 13:35:00 +0000 (13:35 +0000)]
Update status file to recent test262 version.

R=rossberg@chromium.org
TEST=test262

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

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

12 years agoRename static methods to avoid shadowing virtual methods
ulan@chromium.org [Fri, 17 Feb 2012 12:59:58 +0000 (12:59 +0000)]
Rename static methods to avoid shadowing virtual methods
and fix Clang C++11 compile error.

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

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

12 years agoIn gcmole assume that methods exiting VM can cause GC.
vegorov@chromium.org [Fri, 17 Feb 2012 11:34:50 +0000 (11:34 +0000)]
In gcmole assume that methods exiting VM can cause GC.

Detect those methods by reference to StateTag::EXTERNAL in their bodies.

R=fschneider@google.com

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

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

12 years agoFix sequence of element access in array builtins.
mstarzinger@chromium.org [Fri, 17 Feb 2012 10:06:26 +0000 (10:06 +0000)]
Fix sequence of element access in array builtins.

R=rossberg@chromium.org
BUG=v8:1790
TEST=mjsunit/regress/regress-1790,test262/15.4.4.22-9-9

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

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

12 years agoImplement fast literal support in Crankshaft.
mstarzinger@chromium.org [Thu, 16 Feb 2012 17:32:30 +0000 (17:32 +0000)]
Implement fast literal support in Crankshaft.

This extends the current support for nested object literals we already
have in Crankshaft, to also support nested array literals and mixed
nested literals containing arrays and objects. All three types are
generated by the unified HFastLiteral instruction.

All previous upper bounds on nested literal graphs remain unchanged,
keeping the size of generated code in check.

The main intention is to boost performance of two-dimensional array
literals containing constant elements (aka. matrices).

R=danno@chromium.org
TEST=mjsunit/compiler/literals-optimized

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

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

12 years agoRevert r10721 because of test flakiness.
mstarzinger@chromium.org [Thu, 16 Feb 2012 17:13:37 +0000 (17:13 +0000)]
Revert r10721 because of test flakiness.

TBR=fschneider@chromium.org
BUG=v8:1322

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

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

12 years agoEnable smi_only_arrays by default.
danno@chromium.org [Thu, 16 Feb 2012 15:47:36 +0000 (15:47 +0000)]
Enable smi_only_arrays by default.

R=jkummerow@chromium.org

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

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

12 years agoRelax TransitionElementsKind DependsOn/Changes dependencies.
danno@chromium.org [Thu, 16 Feb 2012 15:37:52 +0000 (15:37 +0000)]
Relax TransitionElementsKind DependsOn/Changes dependencies.

Ensure that GVN eliminates all transitions that are dominated by an equivalent transition, even if there is a DependsOn-changing instruction in between.

R=fschneider@chromium.org

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

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

12 years agoPrepare push to trunk. Now working on version 3.9.8.
yangguo@chromium.org [Thu, 16 Feb 2012 15:30:43 +0000 (15:30 +0000)]
Prepare push to trunk.  Now working on version 3.9.8.

R=jkummerow@chromium.org
BUG=
TEST=

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

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

12 years agoTemporarily disable known failing test to make builder cycle green.
fschneider@chromium.org [Thu, 16 Feb 2012 15:20:13 +0000 (15:20 +0000)]
Temporarily disable known failing test to make builder cycle green.

BUG=v8:1952
Review URL: https://chromiumcodereview.appspot.com/9414006

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

12 years agoIncrease ARM/MIPS simulators stack safety margin to 1024 bytes
vegorov@chromium.org [Thu, 16 Feb 2012 14:16:12 +0000 (14:16 +0000)]
Increase ARM/MIPS simulators stack safety margin to 1024 bytes

Based on r9686 (10e1ea5).

BUG=
TEST=mozilla regress-355497.js

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

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

12 years agoAllow inlining of functions containing function literals.
mstarzinger@chromium.org [Thu, 16 Feb 2012 14:01:41 +0000 (14:01 +0000)]
Allow inlining of functions containing function literals.

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

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

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

12 years agoMIPS: Initial support for count-based profiling
jkummerow@chromium.org [Thu, 16 Feb 2012 13:33:37 +0000 (13:33 +0000)]
MIPS: Initial support for count-based profiling

Port r10699 (18a0fc0).

Original commit message:

(behind FLAG_count_based_interrupts; only on ia32)

BUG=
TEST=

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

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

12 years agoEnsure using byte registers for byte instructions on ia32 and x64.
yangguo@chromium.org [Thu, 16 Feb 2012 12:48:02 +0000 (12:48 +0000)]
Ensure using byte registers for byte instructions on ia32 and x64.

BUG=v8:1945
TEST=regress-1945.js

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

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

12 years agoCast NaN to float in ExternalFloatArray::SetValue.
danno@chromium.org [Thu, 16 Feb 2012 09:36:11 +0000 (09:36 +0000)]
Cast NaN to float in ExternalFloatArray::SetValue.

TBR=mstarzinger@chromium.org

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

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

12 years agoMIPS: Re-worked the deopt entry table.
fschneider@chromium.org [Thu, 16 Feb 2012 08:38:25 +0000 (08:38 +0000)]
MIPS: Re-worked the deopt entry table.

This method works around the Branch offset and relocinfo issues by emulating a pc-relative jump.
This allows us to generate larger entry tables. The theoretical limit is 2^16 (number of entries)
but even that can be extended by allowing a larger instruction count.

Also reverted the mips-specific constant (kNumberOfEntries) in deoptimizer.h

BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9347016

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

12 years agoFix GCC-4.7 warnings
jkummerow@chromium.org [Thu, 16 Feb 2012 08:38:11 +0000 (08:38 +0000)]
Fix GCC-4.7 warnings

which were introduced in r10700.

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

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

12 years agoPrefix usage of kExternalFloatArray and kExternalDoubleArray with v8.
danno@chromium.org [Thu, 16 Feb 2012 08:10:47 +0000 (08:10 +0000)]
Prefix usage of kExternalFloatArray and kExternalDoubleArray with v8.

TBR=mstarzinger@chromium.org

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

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

12 years agoUniformly handle 'undefined' store to Float64Array and Float32Array.
danno@chromium.org [Thu, 16 Feb 2012 07:58:07 +0000 (07:58 +0000)]
Uniformly handle 'undefined' store to Float64Array and Float32Array.

Previous behavior diverged in ICs and Crankshaft. When storing to a Float32Array or Float64Array, the ICs treated undefined as zero while Crankshaft treated it as NaN. Now both ICs and Crankshaft treat it as NaN, which is consistent with the WebGL & ECMAScript spec.

R=mstarzinger@chromium.org

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

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

12 years agoCleanup idle notification tests.
mstarzinger@chromium.org [Wed, 15 Feb 2012 15:42:50 +0000 (15:42 +0000)]
Cleanup idle notification tests.

R=ulan@chromium.org
TEST=cctest/test-api/IdleNotification

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

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

12 years agoInitialize internal arrays with the correct map.
yangguo@chromium.org [Wed, 15 Feb 2012 13:45:42 +0000 (13:45 +0000)]
Initialize internal arrays with the correct map.

BUG=v8:1878
TEST=regress-1878.js

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

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

12 years agoRemove unnecessary elements type check when allocating array in runtime.
yangguo@chromium.org [Wed, 15 Feb 2012 12:13:55 +0000 (12:13 +0000)]
Remove unnecessary elements type check when allocating array in runtime.

BUG=
TEST=--smi-only-arrays should be perf-neutral to allocating big arrays in a tight loop.

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

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

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