Commit Graph

18017 Commits

Author SHA1 Message Date
titzer
d050c331eb [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}
2015-02-19 11:36:50 +00:00
rossberg
4c082b570d 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}
2015-02-19 11:30:33 +00:00
jarin
9951e1e5f0 [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}
2015-02-19 10:56:23 +00:00
bmeurer
28483ffeb3 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}
2015-02-19 10:38:32 +00:00
loislo
36ed9ca348 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}
2015-02-19 10:07:54 +00:00
ulan
5242700da4 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}
2015-02-19 09:56:19 +00:00
Benedikt Meurer
64a2717529 [x64] Improve instruction selection for TruncateInt64ToInt32.
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/936323004

Cr-Commit-Position: refs/heads/master@{#26739}
2015-02-19 09:41:53 +00:00
hpayer
206e9136bd 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}
2015-02-19 09:28:59 +00:00
verwaest
cca6ffff7e 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}
2015-02-19 09:05:04 +00:00
Toon Verwaest
40b7c513c6 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}
2015-02-19 08:18:07 +00:00
Toon Verwaest
4a030e849c 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}
2015-02-19 08:13:49 +00:00
Benedikt Meurer
a7fb5ed400 [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}
2015-02-19 07:45:52 +00:00
tfarina
b00ea0f125 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}
2015-02-19 05:47:41 +00:00
ishell@chromium.org
b696572d4f 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}
2015-02-18 22:58:18 +00:00
balazs.kilvady
833e3e0b8c 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}
2015-02-18 18:41:56 +00:00
adamk
27e8a455df 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}
2015-02-18 18:25:21 +00:00
ishell
209cf09ac9 Temporarily disable double fields unboxing.
Review URL: https://codereview.chromium.org/928733003

Cr-Commit-Position: refs/heads/master@{#26727}
2015-02-18 16:45:03 +00:00
verwaest
69ecbc75b8 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}
2015-02-18 15:48:41 +00:00
rodolph.perfetta
dccc223094 [ARM64] removed unused variable.
BUG=

Review URL: https://codereview.chromium.org/939663002

Cr-Commit-Position: refs/heads/master@{#26722}
2015-02-18 14:42:07 +00:00
mstarzinger
7e7e85f32e 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}
2015-02-18 13:55:32 +00:00
ulan
161161900b Fix sampling of V8.DetachedContextAgeInGC histogram.
BUG=

Review URL: https://codereview.chromium.org/938693002

Cr-Commit-Position: refs/heads/master@{#26719}
2015-02-18 13:50:58 +00:00
verwaest
7138634d5a 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}
2015-02-18 13:21:43 +00:00
verwaest
6e56fd60e0 Remove the holder_ field from LookupResult
BUG=

Review URL: https://codereview.chromium.org/932533003

Cr-Commit-Position: refs/heads/master@{#26717}
2015-02-18 11:21:18 +00:00
verwaest
79888090c8 Fix JSObjectFieldAccessor support in crankshaft
BUG=459459
LOG=n

Review URL: https://codereview.chromium.org/940483002

Cr-Commit-Position: refs/heads/master@{#26716}
2015-02-18 11:18:09 +00:00
hpayer
2ba7f94896 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}
2015-02-18 10:50:35 +00:00
mstarzinger
b023875ebe 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}
2015-02-18 09:37:50 +00:00
loislo
e22194ea2c Adjust types in SourcePosition. int -> uint32_t
BUG=
LOG=n

Review URL: https://codereview.chromium.org/931163002

Cr-Commit-Position: refs/heads/master@{#26713}
2015-02-18 07:33:36 +00:00
bmeurer
39515a685a [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}
2015-02-18 07:06:16 +00:00
akos.palfi
52a23441be MIPS: Stop using HeapType in IC and Crankshaft
Port 119cb56617

BUG=

Review URL: https://codereview.chromium.org/929443003

Cr-Commit-Position: refs/heads/master@{#26711}
2015-02-18 07:01:06 +00:00
rossberg
5fc2b41ccd 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}
2015-02-17 21:06:31 +00:00
adamk
522937cb49 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}
2015-02-17 20:51:35 +00:00
balazs.kilvady
97a4a21a6a MIPS: [turbofan] Optimize certain chains of Branch into a Switch.
Port acd9c46ca7

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}
2015-02-17 20:44:12 +00:00
mstarzinger
e22c41eb0d Remove redundant helpers from JSGenericLowering.
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/931233003

Cr-Commit-Position: refs/heads/master@{#26706}
2015-02-17 18:38:53 +00:00
titzer
71765afff9 [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}
2015-02-17 18:10:11 +00:00
jarin
3f3558f365 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}
2015-02-17 18:08:59 +00:00
Michael Starzinger
a39530e426 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}
2015-02-17 17:03:25 +00:00
mstarzinger
22dd6dc2a6 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}
2015-02-17 16:37:36 +00:00
Andreas Rossberg
c503241945 [strong] deprecate empty sub-statements
R=marja@chromium.org
BUG=

Review URL: https://codereview.chromium.org/931223002

Cr-Commit-Position: refs/heads/master@{#26701}
2015-02-17 16:26:06 +00:00
balazs.kilvady
01538bffb8 MIPS64: Assembler support for internal references.
Port 49cbe537e7

BUG=

Review URL: https://codereview.chromium.org/930623003

Cr-Commit-Position: refs/heads/master@{#26700}
2015-02-17 16:25:38 +00:00
balazs.kilvady
24026a9944 MIPS64: [turbofan] Initial support for Switch.
Port feb2890711

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}
2015-02-17 16:19:45 +00:00
Andreas Rossberg
f55242948e [strong] Deprecate delete
R=marja@chromium.org
BUG=

Review URL: https://codereview.chromium.org/932833002

Cr-Commit-Position: refs/heads/master@{#26698}
2015-02-17 16:08:11 +00:00
marja
34281c8322 [strong] Forbid var.
R=rossberg@chromium.org
BUG=

Review URL: https://codereview.chromium.org/927953003

Cr-Commit-Position: refs/heads/master@{#26697}
2015-02-17 15:41:25 +00:00
verwaest
119cb56617 Stop using HeapType in IC and Crankshaft
BUG=

Review URL: https://codereview.chromium.org/935603002

Cr-Commit-Position: refs/heads/master@{#26696}
2015-02-17 15:33:37 +00:00
jarin
0a4047a69b 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}
2015-02-17 15:24:34 +00:00
balazs.kilvady
53d04bc14b 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}
2015-02-17 14:52:36 +00:00
hpayer
0918c8c119 Start with a more conservative initial old generation size.
BUG=

Review URL: https://codereview.chromium.org/934803002

Cr-Commit-Position: refs/heads/master@{#26692}
2015-02-17 14:00:27 +00:00
bmeurer
acd9c46ca7 [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}
2015-02-17 13:29:46 +00:00
ulan
66ca91b9d2 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}
2015-02-17 13:22:05 +00:00
loislo
cc1458a9a4 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}
2015-02-17 12:26:14 +00:00
Benedikt Meurer
74876fd603 [turbofan] Fix simplified lowering of NumberToUint32.
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/933873002

Cr-Commit-Position: refs/heads/master@{#26688}
2015-02-17 12:23:28 +00:00