titzer@chromium.org [Wed, 5 Nov 2014 14:56:46 +0000 (14:56 +0000)]
[turbofan] Compute tighter ranges for modulus in Typer.
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
689133003
Cr-Commit-Position: refs/heads/master@{#25162}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25162
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 5 Nov 2014 14:39:24 +0000 (14:39 +0000)]
Skip test in release mode for arm64
TBR=bmeurer@chromium.org, ishell@chromium.org
Review URL: https://codereview.chromium.org/
701013006
Cr-Commit-Position: refs/heads/master@{#25161}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25161
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 5 Nov 2014 14:32:33 +0000 (14:32 +0000)]
Make slow tests on arm64
TBR=bmeurer@chromium.org, ishell@chromium.org
Review URL: https://codereview.chromium.org/
701023003
Cr-Commit-Position: refs/heads/master@{#25160}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25160
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Wed, 5 Nov 2014 14:31:57 +0000 (14:31 +0000)]
Revert "Parser & internalization fix: ensure no heap allocs during GetString(Handle<String>)."
This reverts r25155.
Reason: breaks webkit unit tests.
BUG=
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/
707483002
Cr-Commit-Position: refs/heads/master@{#25159}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25159
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Wed, 5 Nov 2014 13:59:12 +0000 (13:59 +0000)]
Parser & internalization fix: ensure no heap allocs during GetString(Handle<String>).
The bug has always been there: when the parser is operating in the "immediately
internalize" mode and calls GetString, we get FlatContent of a string and then
do heap allocation.
The bug was uncovered by https://codereview.chromium.org/
693803004/ (which put
the parser to the "immediately internalize" mode more often), but looking at the
code, it's possible that it can happen in other cases too.
This CL makes AstValueFactory handle this situation gracefully: it won't try to
internalize inside GetString(Handle<String>); it's unnecessary anyway since we
have the Handle<String> already.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
699343004
Cr-Commit-Position: refs/heads/master@{#25155}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25155
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 5 Nov 2014 13:30:50 +0000 (13:30 +0000)]
Make merge_to_branch more git-friendly.
BUG=410721
LOG=n
TEST=script_test.py
R=tandrii@chromium.org
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
702843002
Cr-Commit-Position: refs/heads/master@{#25154}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25154
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 5 Nov 2014 13:23:15 +0000 (13:23 +0000)]
HPhis with HParameter inputs must have Tagged representation
BUG=v8:3670
LOG=n
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
702053002
Cr-Commit-Position: refs/heads/master@{#25153}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25153
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 5 Nov 2014 13:12:30 +0000 (13:12 +0000)]
Skip box2d for gc stress.
TBR=bmeurer@chromium.org, ishell@chromium.org
Review URL: https://codereview.chromium.org/
696213003
Cr-Commit-Position: refs/heads/master@{#25152}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25152
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 5 Nov 2014 13:08:39 +0000 (13:08 +0000)]
[turbofan] Fix deopt for assignments in non-effect context.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
701853002
Cr-Commit-Position: refs/heads/master@{#25151}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25151
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 5 Nov 2014 13:05:28 +0000 (13:05 +0000)]
Fix fast-variants feature in test driver.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
701933003
Cr-Commit-Position: refs/heads/master@{#25150}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25150
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 5 Nov 2014 12:46:43 +0000 (12:46 +0000)]
[turbofan] optimize hot loop in ResolveControlFlow
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
694473002
Cr-Commit-Position: refs/heads/master@{#25149}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25149
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 5 Nov 2014 12:40:56 +0000 (12:40 +0000)]
Replace C++ bitfields with our own BitFields
Shave this yak from orbit, it's the only way to be sure.
BUG=chromium:427616
LOG=n
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
700963002
Cr-Commit-Position: refs/heads/master@{#25148}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25148
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 5 Nov 2014 12:35:19 +0000 (12:35 +0000)]
Use compiler barrier instead of memory barrier for release/acquire atomic operations on mac.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
694703003
Cr-Commit-Position: refs/heads/master@{#25147}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25147
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
Jacob.Bramley@arm.com [Wed, 5 Nov 2014 11:50:49 +0000 (11:50 +0000)]
ARM: optimize inlined doubles
Use 'vmov Dn[x], ip' instead of 'vmov Sn, ip' to load double immediates.
This patch is only useful for Turbofan as Crankshaft loads double immediates from the constant pool.
This give a little improvement on asm.js benchmarks
R=bmeurer@chromium.org, ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
704543002
Cr-Commit-Position: refs/heads/master@{#25146}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25146
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 5 Nov 2014 11:37:02 +0000 (11:37 +0000)]
Revert "Reland "Optimize function across closures.""
This reverts commit r25142.
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/
702853002
Cr-Commit-Position: refs/heads/master@{#25145}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25145
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
baptiste.afsa@arm.com [Wed, 5 Nov 2014 11:35:57 +0000 (11:35 +0000)]
[turbofan] Use load/store indexes as 64-bit registers on arm64.
Since r25024 load/store indexes are 64-bit value but arm64 backend was still
treating them as 32-bit value.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
698383003
Cr-Commit-Position: refs/heads/master@{#25144}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25144
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 5 Nov 2014 11:27:34 +0000 (11:27 +0000)]
Handle store buffer slot overwrite during object promotion.
The bad scenario this fix handles:
We have a slot in a free list, then promote the object pointed-to by
the slot during scavenge. When allocating the space for the promoted
object, we overwrite the slot with the free list entry map if the
object is allocated just before the slot. After the allocation,
ScavengingVisitor::PromoteObject overwrites the slot with the
address of the allocated object, thus corrupting the free list.
Unfortunately, we do not have a way to construct a reliable repro
case because we would need to somehow craft a free list and store
buffer slot to be in the right configuration.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
695213004
Cr-Commit-Position: refs/heads/master@{#25143}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25143
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 5 Nov 2014 11:12:27 +0000 (11:12 +0000)]
Reland "Optimize function across closures."
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
703603003
Cr-Commit-Position: refs/heads/master@{#25142}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25142
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 5 Nov 2014 10:43:42 +0000 (10:43 +0000)]
[turbofan] Propagate "deferredness" to dominated basic blocks.
TEST=cctest/test-scheduler
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
686273005
Cr-Commit-Position: refs/heads/master@{#25141}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25141
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 5 Nov 2014 10:41:43 +0000 (10:41 +0000)]
Don't use C++11's std::trunc and std::round, use the traditional C functions.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
703893002
Cr-Commit-Position: refs/heads/master@{#25140}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25140
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 5 Nov 2014 10:38:40 +0000 (10:38 +0000)]
Add fast-variants feature to test driver.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
704723002
Cr-Commit-Position: refs/heads/master@{#25139}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25139
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 5 Nov 2014 10:10:28 +0000 (10:10 +0000)]
Make special RPO computation iterative during scheduling.
This contains the following changes squashed together:
- Switch BasicBlock::loop_end to be a basic block instead of an RPO.
- Switch ScheduleLate to use dominator depth instead of RPO.
- Switch ScheduleEarly to use dominator depth instead of RPO.
- Push out absolute RPO ordering everywhere else in the scheduler.
- Keep linked list of blocks in RPO order while scheduling.
- Switch from RPO number to depth for dominator calculation.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
696363002
Cr-Commit-Position: refs/heads/master@{#25138}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25138
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 5 Nov 2014 09:26:22 +0000 (09:26 +0000)]
TransitionArray now uses <is_data_property, name, attributes> tuple as a key, which allows to have several entries for the same property name.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
661133002
Cr-Commit-Position: refs/heads/master@{#25136}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25136
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 5 Nov 2014 09:10:28 +0000 (09:10 +0000)]
Add test cases based on the programs from the Embenchen benchmark suite.
TEST=mjsunit/asm/embenchen
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
704653004
Cr-Commit-Position: refs/heads/master@{#25135}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25135
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 5 Nov 2014 09:02:51 +0000 (09:02 +0000)]
x32: disable turbofan for x32 port
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
697353003
Patch from Weilang Lin <weiliang.lin@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25133}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25133
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 5 Nov 2014 08:52:38 +0000 (08:52 +0000)]
Fix enum in debug.h
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/
700103002
Cr-Commit-Position: refs/heads/master@{#25131}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25131
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 5 Nov 2014 08:44:30 +0000 (08:44 +0000)]
Introduce new stepping mode to step into another frame.
R=aandrey@chromium.org
BUG=chromium:267592
LOG=Y
Review URL: https://codereview.chromium.org/
690263004
Cr-Commit-Position: refs/heads/master@{#25130}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25130
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 5 Nov 2014 08:30:59 +0000 (08:30 +0000)]
Don't crash if the tm_zone field returned by localtime is NULL
BUG=chromium:158355
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
662093003
Cr-Commit-Position: refs/heads/master@{#25129}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25129
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 5 Nov 2014 08:15:09 +0000 (08:15 +0000)]
[turbofan] Fix missing machine type for float32/float64 array accesses.
TEST=mjsunit/asm
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
703883002
Cr-Commit-Position: refs/heads/master@{#25128}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25128
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 5 Nov 2014 07:30:07 +0000 (07:30 +0000)]
Truncate strings synchronized.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
702743002
Cr-Commit-Position: refs/heads/master@{#25127}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25127
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
aandrey@chromium.org [Wed, 5 Nov 2014 07:23:28 +0000 (07:23 +0000)]
Allow uncaught exception messaging in Object.observe callbacks.
This also naturally handles pausing on uncaught exceptions in Object.observe callbacks.
R=adamk@chromium.org, yangguo@chromium.org, yurys@chromium.org
BUG=chromium:335660
LOG=Y
Review URL: https://codereview.chromium.org/
692313003
Cr-Commit-Position: refs/heads/master@{#25126}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25126
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 5 Nov 2014 06:20:36 +0000 (06:20 +0000)]
Set the FPU precision control to double-precision.
The default double precision control of FPU is extended double-precision.
While the number definition for JavaScript is double-precision. We use
the FPU control word to set the doulbe precision and replace the original
solution which store the data to memory and load it again.
This patch also fixes the error that Sunspider 1.0.2 can not run with V8 if
sse2 support is disabled.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
700053003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25125}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25125
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 5 Nov 2014 06:09:58 +0000 (06:09 +0000)]
X87: [turbofan] Add AllocateHeapNumberStub to avoid runtime call.
port
ee95552f291d3c1fff78bc4f8d8621e84976e5c9 (r25107)
original commit message:
[turbofan] Add AllocateHeapNumberStub to avoid runtime call.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
701033002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25124}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25124
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 5 Nov 2014 05:57:56 +0000 (05:57 +0000)]
[x64] 64-bit shift left by 32 or more covers sign/zero extend.
TEST=unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
704703002
Cr-Commit-Position: refs/heads/master@{#25123}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25123
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 4 Nov 2014 21:37:26 +0000 (21:37 +0000)]
Revert "Parser & internalizing: efficiency fixes."
This reverts commit
94a08565d79a13056b9d964428798dac564905bc for
breaking layout tests.
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/
692333006
Cr-Commit-Position: refs/heads/master@{#25121}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25121
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dusan.milosavljevic@imgtec.com [Tue, 4 Nov 2014 19:47:51 +0000 (19:47 +0000)]
MIPS: Improve compare and branch combining.
TEST=
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
700873002
Cr-Commit-Position: refs/heads/master@{#25120}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25120
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 4 Nov 2014 18:36:00 +0000 (18:36 +0000)]
Adjust test262-es6 following --harmony flag change
TBR=adamk@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
702753002
Cr-Commit-Position: refs/heads/master@{#25119}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25119
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Tue, 4 Nov 2014 17:19:52 +0000 (17:19 +0000)]
MIPS: [turbofan] Add AllocateHeapNumberStub to avoid runtime call.
Port
983ca3f1e7bd8cbba45684d5c1642cd495ca9bc1
Port r25107
TEST=unittests
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
699903002
Cr-Commit-Position: refs/heads/master@{#25118}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25118
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 4 Nov 2014 16:15:44 +0000 (16:15 +0000)]
Fix branch hint in select.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
703633003
Cr-Commit-Position: refs/heads/master@{#25117}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25117
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 4 Nov 2014 16:13:49 +0000 (16:13 +0000)]
`1..isPrototypeOf.call(null)` should return false, not throw TypeError.
BUG=v8:3483
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
433413002
Cr-Commit-Position: refs/heads/master@{#25116}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25116
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 4 Nov 2014 16:05:27 +0000 (16:05 +0000)]
Remove --harmony implications for incomplete features
This is in preparation for making --harmony and --es-staging synonyms.
The only remaining difference currently is block-scoping, which is still
implied by --harmony, to avoid regressing on a long-available feature.
Also removes the special-casing of --harmony-proxies.
R=adamk@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
693153004
Cr-Commit-Position: refs/heads/master@{#25115}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25115
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 4 Nov 2014 15:54:14 +0000 (15:54 +0000)]
Reduce size of array in polymorph-arrays.js.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
686273003
Cr-Commit-Position: refs/heads/master@{#25114}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25114
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 4 Nov 2014 15:20:09 +0000 (15:20 +0000)]
Fix predictable mode when job based sweeping is off.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
697423002
Cr-Commit-Position: refs/heads/master@{#25113}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25113
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Tue, 4 Nov 2014 15:08:24 +0000 (15:08 +0000)]
Refactor ObjectGetOwnPropertyKeys to accept bitmask rather than boolean
BUG=v8:3549
LOG=Y
R=arv@chromium.org, rossberg@chromium.org
Review URL: https://codereview.chromium.org/
557023002
Patch from Caitlin Potter <caitpotter88@gmail.com>.
Cr-Commit-Position: refs/heads/master@{#25111}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25111
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 4 Nov 2014 14:37:22 +0000 (14:37 +0000)]
Introduce Diamond, a helper for building diamond-shaped control patterns.
R=mstarzinger@chromium.org, bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
694063005
Cr-Commit-Position: refs/heads/master@{#25110}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25110
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Tue, 4 Nov 2014 14:15:57 +0000 (14:15 +0000)]
Parser & internalizing: efficiency fixes.
1) In ParseLazy, we're already using the heap, so we can also tell
AstValueFactory to internalize immediately. This is more efficient.
2) No need to collect the values in values_ and strings_ if they're already
internalized.
3) No need to collect AstValues which are strings in values_ since they don't
need to be internalized (the underlying strings will be internalized
separately).
BUG=429168
LOG=N
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
693803004
Cr-Commit-Position: refs/heads/master@{#25109}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25109
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 4 Nov 2014 12:58:17 +0000 (12:58 +0000)]
[turbofan] Add AllocateHeapNumberStub to avoid runtime call.
TEST=unittests
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
703473004
Cr-Commit-Position: refs/heads/master@{#25107}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25107
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 4 Nov 2014 12:06:23 +0000 (12:06 +0000)]
[turbofan] Fix branch hints for ChangeInt32ToTagged and ChangeTaggedToUI32.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
694353006
Cr-Commit-Position: refs/heads/master@{#25106}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25106
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 4 Nov 2014 11:58:09 +0000 (11:58 +0000)]
Disable long running gc-stress tests on arm64 for TF.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
701723004
Cr-Commit-Position: refs/heads/master@{#25105}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25105
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 4 Nov 2014 11:40:21 +0000 (11:40 +0000)]
Revert "Optimize function across closures."
This reverts r25102.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
699143002
Cr-Commit-Position: refs/heads/master@{#25104}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25104
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 4 Nov 2014 11:37:31 +0000 (11:37 +0000)]
[turbofan] Fix recognition of Uint32Div in simplified lowering.
TEST=mjsunit/asm
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
701813003
Cr-Commit-Position: refs/heads/master@{#25103}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25103
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 4 Nov 2014 11:06:17 +0000 (11:06 +0000)]
Optimize function across closures.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
699633002
Cr-Commit-Position: refs/heads/master@{#25102}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25102
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
aandrey@chromium.org [Tue, 4 Nov 2014 10:06:44 +0000 (10:06 +0000)]
Follow up to fix v8::Exception::GetMessage() actually do what it was intended to.
The main thing for v8::Exception::GetMessage() is to extract message location from
error stack trace, even when stack trace capturing is off (when DevTools is closed).
BUG=chromium:427954
R=yangguo@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
696703002
Cr-Commit-Position: refs/heads/master@{#25101}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25101
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
aandrey@chromium.org [Tue, 4 Nov 2014 10:02:25 +0000 (10:02 +0000)]
Add debug mirror support for ES6 Map/Set iterators.
This is to show values preview of an iterator in DevTools console.
API=v8::Value::IsMapIterator, v8::Value::IsSetIterator
BUG=chromium:427868
R=arv@chromium.org, yangguo@chromium.org, adamk@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/
693813002
Cr-Commit-Position: refs/heads/master@{#25100}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25100
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 4 Nov 2014 09:29:31 +0000 (09:29 +0000)]
TransitionArray::Search() now returns insertion index if the entry was not found.
This is a prerequisite for https://codereview.chromium.org/
661133002/.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
698043003
Cr-Commit-Position: refs/heads/master@{#25099}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25099
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 4 Nov 2014 09:22:42 +0000 (09:22 +0000)]
Actually also advance the iterator in StorePropertyWithInterceptor
BUG=v8:3636
LOG=n
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
702523002
Cr-Commit-Position: refs/heads/master@{#25098}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25098
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 4 Nov 2014 09:21:12 +0000 (09:21 +0000)]
[turbofan] add RegisterConfiguration to decouple arch specific register layouts from compiler
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
694313002
Cr-Commit-Position: refs/heads/master@{#25097}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25097
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 4 Nov 2014 08:56:40 +0000 (08:56 +0000)]
Whitespace CL to trigger bots.
Cr-Commit-Position: refs/heads/master@{#25096}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25096
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 4 Nov 2014 08:27:49 +0000 (08:27 +0000)]
Adds dependency on sanitizer
The santizer target is empty if no sanitizers are defined, otherwise
it contains the necessary targets. Because of this we can always
depend on it. Without this dep asan builds fail.
R=brettw@chromium.org, danno@chromium.org
Review URL: https://codereview.chromium.org/
697763002
Patch from Scott Violet <sky@chromium.org>.
Cr-Commit-Position: refs/heads/master@{#25094}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25094
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 4 Nov 2014 07:35:59 +0000 (07:35 +0000)]
[turbofan] Also print the non-value inputs in schedule.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
702643002
Cr-Commit-Position: refs/heads/master@{#25092}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25092
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 4 Nov 2014 07:35:29 +0000 (07:35 +0000)]
[turbofan] Strip useless sign-extension for store8/store16.
TEST=unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
698963002
Cr-Commit-Position: refs/heads/master@{#25091}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25091
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Mon, 3 Nov 2014 21:46:35 +0000 (21:46 +0000)]
Remove FAIL from test262-es6.status
TBR=rossberg
BUG=v8:3642
LOG=Y
Review URL: https://codereview.chromium.org/
698073003
Cr-Commit-Position: refs/heads/master@{#25088}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25088
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Mon, 3 Nov 2014 19:53:36 +0000 (19:53 +0000)]
Classes: static should still be treated as a strict reserved word
When --harmony-classes is enabled we did not treat static as a
strict reserved word.
BUG=v8:3642
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
652743009
Cr-Commit-Position: refs/heads/master@{#25087}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25087
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 3 Nov 2014 19:44:46 +0000 (19:44 +0000)]
Fix a few nits found by PVS Studio
BUG=v8:3192
LOG=n
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
185563004
Cr-Commit-Position: refs/heads/master@{#25086}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25086
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 3 Nov 2014 17:52:51 +0000 (17:52 +0000)]
Fix build because of dead fields.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
699673002
Cr-Commit-Position: refs/heads/master@{#25085}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25085
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 3 Nov 2014 17:41:53 +0000 (17:41 +0000)]
Make visualizer robust to graphs with NULL inputs.
R=mstarzinger@chromium.org, jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
652263002
Cr-Commit-Position: refs/heads/master@{#25084}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25084
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erikcorry@chromium.org [Mon, 3 Nov 2014 17:23:55 +0000 (17:23 +0000)]
Introduce phantom weak handles in the API and use them internally for debug info
R=ulan@chromium.org, jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
687003005
Cr-Commit-Position: refs/heads/master@{#25083}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25083
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Mon, 3 Nov 2014 16:44:58 +0000 (16:44 +0000)]
Reland "Limit the number of transitions allowed per hidden class."
BUG=chromium:427813
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
676393002
Cr-Commit-Position: refs/heads/master@{#25082}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25082
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Mon, 3 Nov 2014 16:40:54 +0000 (16:40 +0000)]
MIPS: [turbofan] Also optimize unsigned division by constant.
Port r25061 (7fe697f)
TEST=cctest,mjsunit,unittests
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
701543002
Cr-Commit-Position: refs/heads/master@{#25081}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dusan.milosavljevic@imgtec.com [Mon, 3 Nov 2014 15:48:15 +0000 (15:48 +0000)]
Unbreak build fon non-TF targets.
Mips64 is affected but not for long.
TEST=
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
689113003
Cr-Commit-Position: refs/heads/master@{#25080}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25080
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 3 Nov 2014 15:39:30 +0000 (15:39 +0000)]
Fix auto roll update.
Auto roll requires an additional "git fetch" now that it uses
a workdir. Before, the checkout used to be updated
externally.
BUG=408523
LOG=n
TEST=script_test.py
R=tandrii@chromium.org
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
695323002
Cr-Commit-Position: refs/heads/master@{#25079}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25079
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 3 Nov 2014 15:17:08 +0000 (15:17 +0000)]
[turbofan] Introduce separate SelectLowering reducer.
Split lowering of Select nodes into a separate graph reducer and be more
clever when lowering to diamonds, i.e. reuse diamonds that have the same
condition and only add more phis to it.
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
702463002
Cr-Commit-Position: refs/heads/master@{#25078}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25078
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Mon, 3 Nov 2014 14:59:19 +0000 (14:59 +0000)]
Fix uninitialized fields in the BinaryOperation ast node.
R=jkummerow@chromium.org, svenpanne@chromium.org
BUG=chromium:429194
LOG=n
Review URL: https://codereview.chromium.org/
701533002
Cr-Commit-Position: refs/heads/master@{#25077}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25077
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 3 Nov 2014 14:05:57 +0000 (14:05 +0000)]
Don't double-check elements in the prototype chain in array builtins
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
701513002
Cr-Commit-Position: refs/heads/master@{#25076}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25076
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Mon, 3 Nov 2014 13:58:39 +0000 (13:58 +0000)]
[turbofan] Fix Typer::Rangify to handle integral bitset types.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
688413003
Cr-Commit-Position: refs/heads/master@{#25074}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25074
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 3 Nov 2014 13:55:09 +0000 (13:55 +0000)]
build fix after 25072
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
688323005
Cr-Commit-Position: refs/heads/master@{#25073}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25073
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 3 Nov 2014 13:41:56 +0000 (13:41 +0000)]
build fix after r25071
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
684523003
Cr-Commit-Position: refs/heads/master@{#25072}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25072
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 3 Nov 2014 13:26:46 +0000 (13:26 +0000)]
[turbofan] initial framework for unittesting of register allocator
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
683133005
Cr-Commit-Position: refs/heads/master@{#25071}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25071
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 3 Nov 2014 13:17:02 +0000 (13:17 +0000)]
Fix svn commit for deleted files in release scripts.
BUG=408523
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
685623004
Cr-Commit-Position: refs/heads/master@{#25070}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25070
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 3 Nov 2014 12:36:14 +0000 (12:36 +0000)]
Revert "[turbofan] Fix bug in Rangify."
This reverts commit r25067 for breaking Win64.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
697093002
Cr-Commit-Position: refs/heads/master@{#25069}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 3 Nov 2014 11:50:43 +0000 (11:50 +0000)]
[turbofan] Fix bug in Rangify.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
699603002
Cr-Commit-Position: refs/heads/master@{#25067}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 3 Nov 2014 11:50:08 +0000 (11:50 +0000)]
[turbofan] Enforce allocation of register for imull/mull.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
697073002
Cr-Commit-Position: refs/heads/master@{#25066}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 3 Nov 2014 10:44:23 +0000 (10:44 +0000)]
[turbofan] Positive dividends are heavily favored for Int32Mod.
Mark negative dividend case as deferred, as modulus by power of two with
negative dividend almost never appears in practice.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
699573002
Cr-Commit-Position: refs/heads/master@{#25065}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25065
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 3 Nov 2014 10:30:34 +0000 (10:30 +0000)]
Make generic algorithm less generic.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
701473002
Cr-Commit-Position: refs/heads/master@{#25064}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25064
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
baptiste.afsa@arm.com [Mon, 3 Nov 2014 10:28:46 +0000 (10:28 +0000)]
[turbofan] Select tbz/tbnz when possible on ARM64.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
697653002
Cr-Commit-Position: refs/heads/master@{#25063}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25063
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 3 Nov 2014 10:21:59 +0000 (10:21 +0000)]
Now with more checkings! Skip the CallFunctionStub when the callee function can be statically determined.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
696223002
Cr-Commit-Position: refs/heads/master@{#25062}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25062
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 3 Nov 2014 10:04:37 +0000 (10:04 +0000)]
[turbofan] Also optimize unsigned division by constant.
TEST=cctest,mjsunit,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
697663003
Cr-Commit-Position: refs/heads/master@{#25061}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25061
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 3 Nov 2014 09:40:12 +0000 (09:40 +0000)]
Fix constant in Math.tan implementation.
R=jkummerow@chromium.org, rtoy@chromium.org
BUG=chromium:427468
LOG=Y
Review URL: https://codereview.chromium.org/
695263002
Cr-Commit-Position: refs/heads/master@{#25060}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25060
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 3 Nov 2014 09:31:13 +0000 (09:31 +0000)]
Fix workdir feature for release scripts.
BUG=408523
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
700493002
Cr-Commit-Position: refs/heads/master@{#25058}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25058
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 3 Nov 2014 08:43:20 +0000 (08:43 +0000)]
Fix for bug 429168, PdfJs regression. We pay a very high cost for AllocationResult being a > kPointerSize struct. This can be avoided by using Smis to indicate failure with retry spaces.
BUG=429168
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
699473002
Cr-Commit-Position: refs/heads/master@{#25057}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25057
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 3 Nov 2014 08:41:13 +0000 (08:41 +0000)]
Add workdir feature to release scripts.
BUG=408523
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
701463002
Cr-Commit-Position: refs/heads/master@{#25056}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25056
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 3 Nov 2014 08:18:26 +0000 (08:18 +0000)]
More retries when tagging in release scripts.
BUG=408523
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
697433003
Cr-Commit-Position: refs/heads/master@{#25055}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25055
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 3 Nov 2014 06:27:34 +0000 (06:27 +0000)]
[x86] Fix register constraints for multiply high and modulus.
R=jarin@chromium.org
TEST=mjsunit/compiler/regress-register-allocator2
Review URL: https://codereview.chromium.org/
697053002
Cr-Commit-Position: refs/heads/master@{#25054}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25054
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Mon, 3 Nov 2014 06:09:51 +0000 (06:09 +0000)]
[turbofan] Do not use the generic graph algorithm for widening in the typer.
This change uses an explicit queue for type-widening instead of the
generic algorithm. The trouble with the generic algorithm was that it
called the visitor on the same phi many times in a row (and thus caused
unnecessary retyping). I also think that the queue-based fixpoint is
more readable.
The CL cuts running time of the nbody-java benchmark from ~19s to ~15s,
the time spent in the typer goes from 4.5s to 1s. This is still a lot
- the root cause appears to be slow handling of union subtyping
(m*n for unions of sizes m and n). I see a re-typing of a
single phi node taking > 100ms. I will work on a fix with Andreas,
hopefully we can come up with some canonical representation
of unions at least for the common cases (union of Smi constants).
I have also changed the initial typer run to always compute a type, even
if we already had a type for the node. This fixes one assert failure
where context specialization updates a node without updating the type,
which confuses the typer when widening (as some types suddenly narrow).
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
689403002
Cr-Commit-Position: refs/heads/master@{#25053}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25053
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 3 Nov 2014 05:56:55 +0000 (05:56 +0000)]
IA: Double arithmetic binops support memory operand
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
662813002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25052}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25052
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Sun, 2 Nov 2014 13:12:46 +0000 (13:12 +0000)]
Fix push script for autoroll account.
Push tags to the repo not to the remote - which is a cache
checkout on the bots.
Add new files when doing pure svn commits. Otherwise, new
files are silently ignored and not committed.
BUG=408523
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
699493004
Cr-Commit-Position: refs/heads/master@{#25049}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25049
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Sat, 1 Nov 2014 21:53:13 +0000 (21:53 +0000)]
Teach push script to commit with roll account.
BUG=410721
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
693333002
Cr-Commit-Position: refs/heads/master@{#25046}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25046
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Fri, 31 Oct 2014 19:53:28 +0000 (19:53 +0000)]
[turbofan] Avoid unnecessary (u)int32<->float64 changes in simplified lowering.
BUG=
R=bmeurer@chromium.org, titzer@chromium.org
Review URL: https://codereview.chromium.org/
683873002
Cr-Commit-Position: refs/heads/master@{#25045}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25045
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Fri, 31 Oct 2014 19:05:31 +0000 (19:05 +0000)]
Revert "Skip the CallFunctionStub when the callee function can be statically determined."
This reverts commit
9845dfadd2ad4a83fa00bf43e0c2791ccf7eacad (r25042) for failing tests.
TBR=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
693103004
Cr-Commit-Position: refs/heads/master@{#25044}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25044
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dusan.milosavljevic@imgtec.com [Fri, 31 Oct 2014 18:33:33 +0000 (18:33 +0000)]
MIPS64: Fix simulator arguments handling on generated code entry.
Removed workaround for this issue.
TEST=mjsunit, cctest on sim64
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
695933002
Cr-Commit-Position: refs/heads/master@{#25043}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25043
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00