bmeurer [Fri, 20 Feb 2015 12:30:23 +0000 (04:30 -0800)]
[turbofan] Don't compute unneeded gray set in AllNodes.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
940403002
Cr-Commit-Position: refs/heads/master@{#26773}
verwaest [Fri, 20 Feb 2015 12:23:54 +0000 (04:23 -0800)]
Immediately "optimize as prototype" when setting as prototype of a function.
This saves space since OptimizeAsPrototype detaches from the transition tree, reclaiming intermediate maps. On gmail this corresponds to roughly 20% of all maps.
BUG=
Review URL: https://codereview.chromium.org/
941213005
Cr-Commit-Position: refs/heads/master@{#26772}
machenbach [Fri, 20 Feb 2015 12:12:35 +0000 (04:12 -0800)]
Migrate CQ trybot config to v8 repo.
TBR=tandrii@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
940393002
Cr-Commit-Position: refs/heads/master@{#26771}
hpayer [Fri, 20 Feb 2015 11:35:36 +0000 (03:35 -0800)]
There are no evacuation candidates and slot buffers when marking is started.
BUG=
Review URL: https://codereview.chromium.org/
939163002
Cr-Commit-Position: refs/heads/master@{#26770}
Yang Guo [Fri, 20 Feb 2015 11:15:17 +0000 (12:15 +0100)]
Disable failing debug tests in gc-stress.
TBR=machenbach@chromium.org
BUG=v8:3776
LOG=N
Review URL: https://codereview.chromium.org/
944833002
Cr-Commit-Position: refs/heads/master@{#26769}
mstarzinger [Fri, 20 Feb 2015 10:48:05 +0000 (02:48 -0800)]
Simplify computation of environment stack delta.
R=titzer@chromium.org
TEST=cctest/test-run-jsexceptions/CatchCall
Review URL: https://codereview.chromium.org/
936343002
Cr-Commit-Position: refs/heads/master@{#26768}
Benedikt Meurer [Fri, 20 Feb 2015 10:11:45 +0000 (11:11 +0100)]
[turbofan] Finally get rid of the generic algorithm.
R=svenpanne@chromium.org
Committed: https://crrev.com/
5bbe693e4817011b6a496c638c9f09026fd3dac9
Cr-Commit-Position: refs/heads/master@{#26760}
Review URL: https://codereview.chromium.org/
944803002
Cr-Commit-Position: refs/heads/master@{#26767}
mstarzinger [Fri, 20 Feb 2015 09:54:49 +0000 (01:54 -0800)]
Model exceptional edges from call nodes in TurboFan.
R=titzer@chromium.org,bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
928213003
Cr-Commit-Position: refs/heads/master@{#26766}
titzer [Fri, 20 Feb 2015 09:39:32 +0000 (01:39 -0800)]
Pass Isolate* more explicitly in Parser, with less reliance on info->isolate().
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
935413003
Cr-Commit-Position: refs/heads/master@{#26765}
yangguo [Fri, 20 Feb 2015 09:34:00 +0000 (01:34 -0800)]
Limit size of first page based on serialized data.
R=hpayer@chromium.org
BUG=chromium:453111
LOG=Y
Review URL: https://codereview.chromium.org/
932823002
Cr-Commit-Position: refs/heads/master@{#26764}
machenbach [Fri, 20 Feb 2015 09:14:37 +0000 (01:14 -0800)]
Revert of [turbofan] Finally get rid of the generic algorithm. (patchset #2 id:20001 of https://codereview.chromium.org/
944803002/)
Reason for revert:
Breaks dbg builds.
Original issue's description:
> [turbofan] Finally get rid of the generic algorithm.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/
5bbe693e4817011b6a496c638c9f09026fd3dac9
> Cr-Commit-Position: refs/heads/master@{#26760}
TBR=svenpanne@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
941963003
Cr-Commit-Position: refs/heads/master@{#26763}
michael_dawson [Fri, 20 Feb 2015 09:00:36 +0000 (01:00 -0800)]
Contribution of PowerPC port (continuation of
422063005) - PPC dir update 2 - mark2
Rebase to latest and use branch created by git new-branch to get a patch that
only has the required changes. Created new branch, reset to HEAD and then
cherry picked across the changes
modified: src/compiler/ppc/code-generator-ppc.cc
modified: src/compiler/ppc/instruction-selector-ppc.cc
modified: src/disassembler.cc
modified: src/ic/ppc/handler-compiler-ppc.cc
modified: src/ic/ppc/ic-compiler-ppc.cc
modified: src/ppc/assembler-ppc-inl.h
modified: src/ppc/assembler-ppc.cc
modified: src/ppc/assembler-ppc.h
modified: src/ppc/builtins-ppc.cc
modified: src/ppc/code-stubs-ppc.cc
modified: src/ppc/deoptimizer-ppc.cc
modified: src/ppc/disasm-ppc.cc
modified: src/ppc/full-codegen-ppc.cc
modified: src/ppc/macro-assembler-ppc.cc
modified: src/serialize.cc
R=danno@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
935383002
Cr-Commit-Position: refs/heads/master@{#26762}
machenbach [Fri, 20 Feb 2015 08:50:39 +0000 (00:50 -0800)]
Add sheriff details to roll commit message.
Add a link with instructions about how to assign v8
issues to the chromium roll commit message.
Remove googler mapping feature as it doesn't apply anymore
to any generalist sheriff.
NOTRY=true
Review URL: https://codereview.chromium.org/
938023002
Cr-Commit-Position: refs/heads/master@{#26761}
Benedikt Meurer [Fri, 20 Feb 2015 08:42:29 +0000 (09:42 +0100)]
[turbofan] Finally get rid of the generic algorithm.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
944803002
Cr-Commit-Position: refs/heads/master@{#26760}
arv [Thu, 19 Feb 2015 21:38:04 +0000 (13:38 -0800)]
Align GetIterator with ES6 spec
BUG=None
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/
936793003
Cr-Commit-Position: refs/heads/master@{#26759}
adamk [Thu, 19 Feb 2015 20:14:55 +0000 (12:14 -0800)]
Teach ModuleDescriptor about basic local exports
Add() becomes AddLocalExport, which takes an export_name and a local_name.
New parsing tests exercise this.
Also start generating exports for default exports (though this doesn't yet
handle anonymous default exports).
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/
934323004
Cr-Commit-Position: refs/heads/master@{#26758}
ishell [Thu, 19 Feb 2015 18:51:12 +0000 (10:51 -0800)]
Put more information to the stack when crbug/454297 happens.
Review URL: https://codereview.chromium.org/
941693002
Cr-Commit-Position: refs/heads/master@{#26757}
svetozar.janjic [Thu, 19 Feb 2015 18:25:41 +0000 (10:25 -0800)]
MIPS: Silence warnings and unbreak optdebug build for target.
This is a temporary workaround for bogus array-bounds warning, due to bug in MIPS toolchain versions 4.8.2 and 4.9.2.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56273
TEST=
BUG=
Review URL: https://codereview.chromium.org/
928533002
Cr-Commit-Position: refs/heads/master@{#26756}
rossberg [Thu, 19 Feb 2015 16:49:11 +0000 (08:49 -0800)]
[strong] make function and class declarations lexical & immutable
R=arv@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
932283003
Cr-Commit-Position: refs/heads/master@{#26755}
arv [Thu, 19 Feb 2015 16:15:25 +0000 (08:15 -0800)]
Super store
When the property is not found on the [[HomeObject]] prototype chain
then we should do a [[DefineOwnProperty]] on the instance.
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/
934463003
Cr-Commit-Position: refs/heads/master@{#26754}
rossberg [Thu, 19 Feb 2015 14:58:32 +0000 (06:58 -0800)]
[strong] Deprecate arguments
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
932333004
Cr-Commit-Position: refs/heads/master@{#26753}
ishell [Thu, 19 Feb 2015 14:36:12 +0000 (06:36 -0800)]
Minor tools/grokdump improvements: avoid some None dereferences and add some line breaks to generated html pages.
Review URL: https://codereview.chromium.org/
943573002
Cr-Commit-Position: refs/heads/master@{#26752}
rossberg [Thu, 19 Feb 2015 13:50:33 +0000 (05:50 -0800)]
[strong] Deprecate for-in
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
939063002
Cr-Commit-Position: refs/heads/master@{#26751}
machenbach [Thu, 19 Feb 2015 13:48:21 +0000 (05:48 -0800)]
Keep cl trybots in sync with cq.
TBR=bmeurer@chromium.org
BUG=chromium:353487
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/
930203003
Cr-Commit-Position: refs/heads/master@{#26750}
yangguo [Thu, 19 Feb 2015 13:11:23 +0000 (05:11 -0800)]
Reflect debug mode build in flags hash.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
940003002
Cr-Commit-Position: refs/heads/master@{#26749}
ulan [Thu, 19 Feb 2015 13:10:06 +0000 (05:10 -0800)]
Embed store callback in handler via weak cell.
BUG=chromium:454619
LOG=NO
Review URL: https://codereview.chromium.org/
926293004
Cr-Commit-Position: refs/heads/master@{#26748}
verwaest [Thu, 19 Feb 2015 13:01:52 +0000 (05:01 -0800)]
Clear Map::constructor to object_function from the same context for prototype maps. This avoids keeping small pockets of memory alive for the common pattern where prototypes are used to emulate classes:
function inherit(parent, child) {
function p() {}
p.prototype = parent.prototype;
child.prototype = new p();
}
Otherwise child.prototype[constructor] keeps alive p, p's context, the
initial map attached to p, and the (now empty) transition array of the
initial map.
BUG=
Review URL: https://codereview.chromium.org/
942493002
Cr-Commit-Position: refs/heads/master@{#26747}
titzer [Thu, 19 Feb 2015 12:38:44 +0000 (04:38 -0800)]
[turbofan] Transfer types from loop phis to OSR values.
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
930003003
Cr-Commit-Position: refs/heads/master@{#26746}
titzer [Thu, 19 Feb 2015 11:36:38 +0000 (03:36 -0800)]
[turbofan] Simplify context specialization and fix for OSR.
AstGraphBuilder puts a constant context in from the beginning.
Also fix bug in merging contexts in environment.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
934293002
Cr-Commit-Position: refs/heads/master@{#26745}
rossberg [Thu, 19 Feb 2015 11:30:25 +0000 (03:30 -0800)]
Make generator constructors configurable
R=mstarzinger@chromium.org
BUG=v8:3902
LOG=Y
Review URL: https://codereview.chromium.org/
939953002
Cr-Commit-Position: refs/heads/master@{#26744}
jarin [Thu, 19 Feb 2015 10:56:18 +0000 (02:56 -0800)]
[turbofan] Fix typing of comparisons.
BUG=chromium:459955
LOG=n
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
943483002
Cr-Commit-Position: refs/heads/master@{#26743}
bmeurer [Thu, 19 Feb 2015 10:38:24 +0000 (02:38 -0800)]
Revert of [x64] Generate test reg,reg instead of cmp reg,0. (patchset #2 id:20001 of https://codereview.chromium.org/
916543004/)
Reason for revert:
Tanks some benchmarks (for no obvious reason)
Original issue's description:
> [x64] Generate test reg,reg instead of cmp reg,0.
>
> The instruction sequence is shorter and saves decoding bandwidth.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/
a7fb5ed400701b22c455d0ad410bc98b211e5730
> Cr-Commit-Position: refs/heads/master@{#26734}
TBR=svenpanne@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
939923003
Cr-Commit-Position: refs/heads/master@{#26742}
loislo [Thu, 19 Feb 2015 10:07:46 +0000 (02:07 -0800)]
A few tests fails when I run them with --hydrogen-track-positions
The root of problem is the fact that we don't track the position of 'this' statement but use them when visit compare statement.
As a result we have -1 as the position of left expression and the resulting relative position is negative and doesn't fit into BitField.
BUG=452067
TEST=test-cpu-profiler/SourceLocation
LOG=n
Review URL: https://codereview.chromium.org/
940593002
Cr-Commit-Position: refs/heads/master@{#26741}
ulan [Thu, 19 Feb 2015 09:56:06 +0000 (01:56 -0800)]
Revert "Remove IC age from Code."
This reverts commit 3cd889 for regressing Kraken benchmark
BUG=chromium:457174
LOG=N
Review URL: https://codereview.chromium.org/
941503003
Cr-Commit-Position: refs/heads/master@{#26740}
Benedikt Meurer [Thu, 19 Feb 2015 09:41:39 +0000 (10:41 +0100)]
[x64] Improve instruction selection for TruncateInt64ToInt32.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
936323004
Cr-Commit-Position: refs/heads/master@{#26739}
hpayer [Thu, 19 Feb 2015 09:28:44 +0000 (01:28 -0800)]
Unlink pages from the space page list after evacuation.
BUG=430201
LOG=n
Review URL: https://codereview.chromium.org/
937833002
Cr-Commit-Position: refs/heads/master@{#26738}
verwaest [Thu, 19 Feb 2015 09:04:49 +0000 (01:04 -0800)]
Revert of Remove handle wrappers from basic elements accessors (patchset #2 id:20001 of https://codereview.chromium.org/
934173004/)
Reason for revert:
Breakage
Original issue's description:
> Remove handle wrappers from basic elements accessors
>
> BUG=
> R=yangguo@chromium.org
>
> Committed: https://crrev.com/
40b7c513c696f405af0ae3e74e844d3c341bc3f2
> Cr-Commit-Position: refs/heads/master@{#26736}
TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
932693003
Cr-Commit-Position: refs/heads/master@{#26737}
Toon Verwaest [Thu, 19 Feb 2015 08:17:55 +0000 (09:17 +0100)]
Remove handle wrappers from basic elements accessors
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
934173004
Cr-Commit-Position: refs/heads/master@{#26736}
Toon Verwaest [Thu, 19 Feb 2015 08:13:33 +0000 (09:13 +0100)]
Remove receiver as parameter to Get/Has Element in the accessors.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
939933002
Cr-Commit-Position: refs/heads/master@{#26735}
Benedikt Meurer [Thu, 19 Feb 2015 07:45:35 +0000 (08:45 +0100)]
[x64] Generate test reg,reg instead of cmp reg,0.
The instruction sequence is shorter and saves decoding bandwidth.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
916543004
Cr-Commit-Position: refs/heads/master@{#26734}
tfarina [Thu, 19 Feb 2015 05:47:31 +0000 (21:47 -0800)]
Cleanup: Remove DCHECK_RESULT macro.
BUG=None
R=bmeurer@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
933673002
Cr-Commit-Position: refs/heads/master@{#26733}
v8-autoroll [Thu, 19 Feb 2015 04:48:24 +0000 (20:48 -0800)]
Update V8 DEPS.
Rolling v8/build/gyp to
34640080d08ab2a37665512e52142947def3056d
Rolling v8/tools/clang to
f6daa55d03995e82201a3278203e7c0421a59546
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
937063002
Cr-Commit-Position: refs/heads/master@{#26732}
ishell@chromium.org [Wed, 18 Feb 2015 22:58:00 +0000 (23:58 +0100)]
Fixed incorrect generalization of types in Map::ReconfigureProperty() introduced in r26667.
BUG=chromium:459512
LOG=N
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
936253002
Cr-Commit-Position: refs/heads/master@{#26731}
machenbach [Wed, 18 Feb 2015 19:31:26 +0000 (11:31 -0800)]
Keep cl trybots in sync with cq.
NOTRY=true
Review URL: https://codereview.chromium.org/
929793005
Cr-Commit-Position: refs/heads/master@{#26730}
balazs.kilvady [Wed, 18 Feb 2015 18:41:46 +0000 (10:41 -0800)]
MIPS: Fix 'MIPS: [turbofan] Optimize certain chains of Branch into a Switch.'
Space and time constants fixed. Delay slot optimisations added.
BUG=
Review URL: https://codereview.chromium.org/
940453003
Cr-Commit-Position: refs/heads/master@{#26729}
adamk [Wed, 18 Feb 2015 18:25:00 +0000 (10:25 -0800)]
Rename Interface to ModuleDescriptor
ModuleDescriptor will end up holding the set of data described in the
spec as a "Module record". This introduces a little bit of confusion
with ModuleInfo, but I hope that'll become clearer over time.
Also removed the interface-printing flags. We probably want
Module-printing flags, but that can wait until we have more
Module-related structures.
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/
935723004
Cr-Commit-Position: refs/heads/master@{#26728}
ishell [Wed, 18 Feb 2015 16:44:53 +0000 (08:44 -0800)]
Temporarily disable double fields unboxing.
Review URL: https://codereview.chromium.org/
928733003
Cr-Commit-Position: refs/heads/master@{#26727}
marja [Wed, 18 Feb 2015 16:12:46 +0000 (08:12 -0800)]
[strong] Remove a regression test for "use before var".
This case should break in strong mode (unlike previously thought).
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
935093002
Cr-Commit-Position: refs/heads/master@{#26726}
verwaest [Wed, 18 Feb 2015 15:48:30 +0000 (07:48 -0800)]
The expected key is a valid identifier, which is already free of \\, <0x20, ".
BUG=
Review URL: https://codereview.chromium.org/
936613006
Cr-Commit-Position: refs/heads/master@{#26725}
machenbach [Wed, 18 Feb 2015 15:35:22 +0000 (07:35 -0800)]
Make gcmole execute in parallel.
TBR=tandrii@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
931233002
Cr-Commit-Position: refs/heads/master@{#26724}
machenbach [Wed, 18 Feb 2015 14:50:58 +0000 (06:50 -0800)]
Make gcmole correctly handle 32 bit architectures.
NOTRY=true
Review URL: https://codereview.chromium.org/
935843003
Cr-Commit-Position: refs/heads/master@{#26723}
rodolph.perfetta [Wed, 18 Feb 2015 14:42:01 +0000 (06:42 -0800)]
[ARM64] removed unused variable.
BUG=
Review URL: https://codereview.chromium.org/
939663002
Cr-Commit-Position: refs/heads/master@{#26722}
ishell [Wed, 18 Feb 2015 14:02:53 +0000 (06:02 -0800)]
Fix for cctest/test-api/SetJitCodeEventHandler: generate less objects during execution to avoid unwanted GCs.
BUG=v8:3899
LOG=N
Review URL: https://codereview.chromium.org/
934243003
Cr-Commit-Position: refs/heads/master@{#26721}
mstarzinger [Wed, 18 Feb 2015 13:55:24 +0000 (05:55 -0800)]
Introduce and test NodeProperties::CollectControlProjections.
R=bmeurer@chromium.org
TEST=unittests/NodePropertiesTest.CollectControlProjections
Review URL: https://codereview.chromium.org/
935033004
Cr-Commit-Position: refs/heads/master@{#26720}
ulan [Wed, 18 Feb 2015 13:50:41 +0000 (05:50 -0800)]
Fix sampling of V8.DetachedContextAgeInGC histogram.
BUG=
Review URL: https://codereview.chromium.org/
938693002
Cr-Commit-Position: refs/heads/master@{#26719}
verwaest [Wed, 18 Feb 2015 13:21:34 +0000 (05:21 -0800)]
Move LookupResult into crankshaft as that's now the only place where it's still used
Additionally handlify the "transition" field so that GC can stop caring about it.
BUG=
Review URL: https://codereview.chromium.org/
935033003
Cr-Commit-Position: refs/heads/master@{#26718}
verwaest [Wed, 18 Feb 2015 11:21:09 +0000 (03:21 -0800)]
Remove the holder_ field from LookupResult
BUG=
Review URL: https://codereview.chromium.org/
932533003
Cr-Commit-Position: refs/heads/master@{#26717}
verwaest [Wed, 18 Feb 2015 11:17:59 +0000 (03:17 -0800)]
Fix JSObjectFieldAccessor support in crankshaft
BUG=459459
LOG=n
Review URL: https://codereview.chromium.org/
940483002
Cr-Commit-Position: refs/heads/master@{#26716}
hpayer [Wed, 18 Feb 2015 10:50:19 +0000 (02:50 -0800)]
Always shrink initial old generation size based on survival rate.
BUG=
Review URL: https://codereview.chromium.org/
936773002
Cr-Commit-Position: refs/heads/master@{#26715}
mstarzinger [Wed, 18 Feb 2015 09:37:40 +0000 (01:37 -0800)]
Simplify handling of stack overflows in AstGraphBuilder.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
935033002
Cr-Commit-Position: refs/heads/master@{#26714}
loislo [Wed, 18 Feb 2015 07:33:20 +0000 (23:33 -0800)]
Adjust types in SourcePosition. int -> uint32_t
BUG=
LOG=n
Review URL: https://codereview.chromium.org/
931163002
Cr-Commit-Position: refs/heads/master@{#26713}
bmeurer [Wed, 18 Feb 2015 07:06:03 +0000 (23:06 -0800)]
[x64] Recognize zero extension of 8-bit and 16-bit values.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
938513003
Cr-Commit-Position: refs/heads/master@{#26712}
akos.palfi [Wed, 18 Feb 2015 07:00:52 +0000 (23:00 -0800)]
MIPS: Stop using HeapType in IC and Crankshaft
Port
119cb5661724006b736fcb6484258c752125e372
BUG=
Review URL: https://codereview.chromium.org/
929443003
Cr-Commit-Position: refs/heads/master@{#26711}
caitpotter88 [Tue, 17 Feb 2015 22:27:59 +0000 (14:27 -0800)]
[tests]: fix exponentiation in harmony array-concat tests
BUG=
LOG=N
R=adamk@chromium.org
Review URL: https://codereview.chromium.org/
921683006
Cr-Commit-Position: refs/heads/master@{#26710}
rossberg [Tue, 17 Feb 2015 21:06:19 +0000 (13:06 -0800)]
Reship classes & object literal extensions
R=arv@chromium.org,marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
933813003
Cr-Commit-Position: refs/heads/master@{#26709}
adamk [Tue, 17 Feb 2015 20:51:24 +0000 (12:51 -0800)]
Strip Interface class of most of its logic, make it all about Module exports
This gets Variable and VariableProxy out of the business of worrying about
Interfaces.
At the same time, get rid of the notion of "module variables". In ES6, variables
that refer to modules will be simply be CONST bindings to module namespace
objects.
The only change in logic here is one more early error:
duplicate export names are now rejected.
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/
918373002
Cr-Commit-Position: refs/heads/master@{#26708}
balazs.kilvady [Tue, 17 Feb 2015 20:44:00 +0000 (12:44 -0800)]
MIPS: [turbofan] Optimize certain chains of Branch into a Switch.
Port
acd9c46ca7a0ada723d717f2545fd484c824eaa2
Original commit message:
This adds a new ControlFlowOptimizer that - for now - recognizes chains
of Branches generated by the SwitchBuilder for a subset of javascript
switches into Switch nodes. Those Switch nodes are then lowered to
either table or lookup switches.
Also rename Case to IfValue (and introduce IfDefault) for consistency.
BUG=v8:3872
LOG=n
Review URL: https://codereview.chromium.org/
931263002
Cr-Commit-Position: refs/heads/master@{#26707}
mstarzinger [Tue, 17 Feb 2015 18:38:46 +0000 (10:38 -0800)]
Remove redundant helpers from JSGenericLowering.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
931233003
Cr-Commit-Position: refs/heads/master@{#26706}
titzer [Tue, 17 Feb 2015 18:10:02 +0000 (10:10 -0800)]
[turbofan] Rename context stack as part of the environment for OSR.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
921083004
Cr-Commit-Position: refs/heads/master@{#26705}
jarin [Tue, 17 Feb 2015 18:08:54 +0000 (10:08 -0800)]
Convert to immutable heap number when materializing arguments object.
BUG=chromium:457935
LOG=n
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
935623002
Cr-Commit-Position: refs/heads/master@{#26704}
Michael Starzinger [Tue, 17 Feb 2015 17:03:02 +0000 (18:03 +0100)]
Fix compilation in release mode.
R=ishell@chromium.org
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/
928373003
Cr-Commit-Position: refs/heads/master@{#26703}
mstarzinger [Tue, 17 Feb 2015 16:37:24 +0000 (08:37 -0800)]
Fix representation for CompareIC in JSGenericLowering.
R=jarin@chromium.org
TEST=mjsunit/regress/regress-3884
BUG=v8:3884
LOG=N
Review URL: https://codereview.chromium.org/
933913002
Cr-Commit-Position: refs/heads/master@{#26702}
Andreas Rossberg [Tue, 17 Feb 2015 16:25:49 +0000 (17:25 +0100)]
[strong] deprecate empty sub-statements
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
931223002
Cr-Commit-Position: refs/heads/master@{#26701}
balazs.kilvady [Tue, 17 Feb 2015 16:25:32 +0000 (08:25 -0800)]
MIPS64: Assembler support for internal references.
Port
49cbe537e715c960fb9773af2e240133726f465b
BUG=
Review URL: https://codereview.chromium.org/
930623003
Cr-Commit-Position: refs/heads/master@{#26700}
balazs.kilvady [Tue, 17 Feb 2015 16:19:32 +0000 (08:19 -0800)]
MIPS64: [turbofan] Initial support for Switch.
Port
feb2890711e8072a9550abb89621929816fc9699
Original commit message:
Adds Switch and Case operators to TurboFan and handles them
appropriately in instruction selection and code generation.
BUG=
Review URL: https://codereview.chromium.org/
932683002
Cr-Commit-Position: refs/heads/master@{#26699}
Andreas Rossberg [Tue, 17 Feb 2015 16:07:54 +0000 (17:07 +0100)]
[strong] Deprecate delete
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
932833002
Cr-Commit-Position: refs/heads/master@{#26698}
marja [Tue, 17 Feb 2015 15:41:15 +0000 (07:41 -0800)]
[strong] Forbid var.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
927953003
Cr-Commit-Position: refs/heads/master@{#26697}
verwaest [Tue, 17 Feb 2015 15:33:26 +0000 (07:33 -0800)]
Stop using HeapType in IC and Crankshaft
BUG=
Review URL: https://codereview.chromium.org/
935603002
Cr-Commit-Position: refs/heads/master@{#26696}
jarin [Tue, 17 Feb 2015 15:24:28 +0000 (07:24 -0800)]
During arguments materialization, do not store materialized objects without lazy deopt.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
919173003
Cr-Commit-Position: refs/heads/master@{#26695}
marja [Tue, 17 Feb 2015 15:11:01 +0000 (07:11 -0800)]
[strong] Remove mjsunit/strong/use-strong-flag.js
It would force us to make mjsunit.js strong-compatible, and that's too much for
now (for the upcoming features) and would have a ripple effect on other
tests. Especially debug-script.js which unships harmony features would break.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
930293002
Cr-Commit-Position: refs/heads/master@{#26694}
balazs.kilvady [Tue, 17 Feb 2015 14:52:16 +0000 (06:52 -0800)]
MIPS: reland Fix 'Assembler support for internal references.'
Fix compilation problem with android toolchain.
Added new INTERNAL_REFERENCE_ENCODED RelocInfo type to differentiate MIPS existing use of internal references in instructions from the new raw pointer reference needed for dd(Label*).
BUG=
TEST=cctest/test-assembler-mips/jump_tables1, cctest/test-assembler-mips/jump_tables2, cctest/test-assembler-mips/jump_tables3, cctest/test-run-machops/RunSwitch1
Review URL: https://codereview.chromium.org/
935593002
Cr-Commit-Position: refs/heads/master@{#26693}
hpayer [Tue, 17 Feb 2015 14:00:13 +0000 (06:00 -0800)]
Start with a more conservative initial old generation size.
BUG=
Review URL: https://codereview.chromium.org/
934803002
Cr-Commit-Position: refs/heads/master@{#26692}
bmeurer [Tue, 17 Feb 2015 13:29:31 +0000 (05:29 -0800)]
[turbofan] Optimize certain chains of Branch into a Switch.
This adds a new ControlFlowOptimizer that - for now - recognizes chains
of Branches generated by the SwitchBuilder for a subset of javascript
switches into Switch nodes. Those Switch nodes are then lowered to
either table or lookup switches.
Also rename Case to IfValue (and introduce IfDefault) for consistency.
BUG=v8:3872
LOG=n
Review URL: https://codereview.chromium.org/
931623002
Cr-Commit-Position: refs/heads/master@{#26691}
ulan [Tue, 17 Feb 2015 13:21:50 +0000 (05:21 -0800)]
Add historgram for number of GC needed to collect a detached context.
BUG=
Review URL: https://codereview.chromium.org/
934773002
Cr-Commit-Position: refs/heads/master@{#26690}
loislo [Tue, 17 Feb 2015 12:26:05 +0000 (04:26 -0800)]
CpuProfile: rename HSourcePosition to SourcePosition and move it to compiler.*
Fix CompilationInfo::TraceInlinedFunction argument.
Fix leaked CodeTracer in Isolate
BUG=452067
LOG=n
Review URL: https://codereview.chromium.org/
928343003
Cr-Commit-Position: refs/heads/master@{#26689}
Benedikt Meurer [Tue, 17 Feb 2015 12:23:17 +0000 (13:23 +0100)]
[turbofan] Fix simplified lowering of NumberToUint32.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
933873002
Cr-Commit-Position: refs/heads/master@{#26688}
rossberg [Tue, 17 Feb 2015 12:07:51 +0000 (04:07 -0800)]
[strong] make --use-strong flag work in d8
This broke with the TSAN fix.
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
933863002
Cr-Commit-Position: refs/heads/master@{#26687}
titzer [Tue, 17 Feb 2015 11:52:32 +0000 (03:52 -0800)]
[turbofan] Fix control reducer for dead loops.
Note OSR special case.
Also improved robustness of OSR tests.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
920573004
Cr-Commit-Position: refs/heads/master@{#26686}
yangguo [Tue, 17 Feb 2015 11:44:31 +0000 (03:44 -0800)]
Correctly propagate terminate exception in TryCall.
BUG=v8:3892
LOG=Y
Review URL: https://codereview.chromium.org/
928193002
Cr-Commit-Position: refs/heads/master@{#26685}
machenbach [Tue, 17 Feb 2015 11:40:03 +0000 (03:40 -0800)]
Fix branch test for merge script.
Failing calls to show-ref cause an exception in python.
BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n
TEST=./script_test.py
Review URL: https://codereview.chromium.org/
933523003
Cr-Commit-Position: refs/heads/master@{#26684}
ishell [Tue, 17 Feb 2015 11:23:30 +0000 (03:23 -0800)]
Put extra information to the stack when crbug/454297 happens.
Review URL: https://codereview.chromium.org/
930243002
Cr-Commit-Position: refs/heads/master@{#26683}
titzer [Tue, 17 Feb 2015 10:30:54 +0000 (02:30 -0800)]
[turbofan] Refactor JSInliner to be a Reducer.
Next step: fix copying of the graph in inlining.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
934723002
Cr-Commit-Position: refs/heads/master@{#26682}
verwaest [Tue, 17 Feb 2015 10:06:52 +0000 (02:06 -0800)]
Implement most common usecase for elements kind generalization
BUG=
Review URL: https://codereview.chromium.org/
931083002
Cr-Commit-Position: refs/heads/master@{#26681}
loislo [Tue, 17 Feb 2015 09:44:44 +0000 (01:44 -0800)]
CpuProfiler: move InlinedFunctionInfo class from HGraphBuilder to CompilationInfo.
A function could be deoptimized due to a deopt in the inlined code.
The inlined function might be defined in another script. So we need to
track the information about the inlined functions (scriptId and offset).
We already have the tracking code which is behind FLAG_hydrogen_track_position.
So as the first step we need to make the info accessible by CPU profiler.
In the follow-up patches I'll add the code which will enable position
tracking and push the info into CodeEntry entries.
BUG=452067
LOG=n
Review URL: https://codereview.chromium.org/
914413007
Cr-Commit-Position: refs/heads/master@{#26680}
verwaest [Tue, 17 Feb 2015 08:57:54 +0000 (00:57 -0800)]
Reduce field type tracking to a single stable map per field.
BUG=
Review URL: https://codereview.chromium.org/
930983003
Cr-Commit-Position: refs/heads/master@{#26679}
vegorov [Tue, 17 Feb 2015 07:55:33 +0000 (23:55 -0800)]
CodeTracer should open file in binary mode to avoid line endings normalization.
Review URL: https://codereview.chromium.org/
924943006
Cr-Commit-Position: refs/heads/master@{#26678}
mstarzinger [Mon, 16 Feb 2015 21:18:51 +0000 (13:18 -0800)]
Cleanup AstGraphBuilder::AddHomeObjectIfNeeded a bit.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
925363003
Cr-Commit-Position: refs/heads/master@{#26677}
machenbach [Mon, 16 Feb 2015 19:07:31 +0000 (11:07 -0800)]
Fix typo in merge script.
BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n
TEST=./script_test.py
Review URL: https://codereview.chromium.org/
932703002
Cr-Commit-Position: refs/heads/master@{#26676}
machenbach [Mon, 16 Feb 2015 18:49:38 +0000 (10:49 -0800)]
Revert of MIPS: Fix 'Assembler support for internal references.' (patchset #1 id:1 of https://codereview.chromium.org/
922043005/)
Reason for revert:
Breaks http://build.chromium.org/p/chromium.fyi/builders/Android%20MIPS%20Builder%20(dbg)
Original issue's description:
> MIPS: Fix 'Assembler support for internal references.'
>
> Added new INTERNAL_REFERENCE_ENCODED RelocInfo type to differentiate MIPS existing use of internal references in instructions from the new raw pointer reference needed for dd(Label*).
>
> BUG=
> TEST=cctest/test-assembler-mips/jump_tables1, cctest/test-assembler-mips/jump_tables2, cctest/test-assembler-mips/jump_tables3, cctest/test-run-machops/RunSwitch1
>
> Committed: https://crrev.com/
244ac6de8316259bc5878480e05348a369c08e2f
> Cr-Commit-Position: refs/heads/master@{#26651}
TBR=danno@chromium.org,bmeurer@chromium.org,jkummerow@chromium.org,paul.lind@imgtec.com,gergely.kis@imgtec.com,akos.palfi@imgtec.com,dusan.milosavljevic@imgtec.com,balazs.kilvady@imgtec.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
934623003
Cr-Commit-Position: refs/heads/master@{#26675}
ishell@chromium.org [Mon, 16 Feb 2015 18:47:59 +0000 (19:47 +0100)]
GCMole issues fixes (part 2).
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
927153002
Cr-Commit-Position: refs/heads/master@{#26674}