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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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