Commit Graph

21289 Commits

Author SHA1 Message Date
verwaest
e758a36b02 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}
2015-02-19 13:01:59 +00:00
titzer
8e241468ed [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}
2015-02-19 12:38:54 +00:00
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
v8-autoroll
4867029997 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}
2015-02-19 04:48:32 +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
machenbach
09bd2c1533 Keep cl trybots in sync with cq.
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26730}
2015-02-18 19:31:48 +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
marja
90501dd703 [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}
2015-02-18 16:12:51 +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
machenbach
94e683b526 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}
2015-02-18 15:35:34 +00:00
machenbach
7307bf0ff3 Make gcmole correctly handle 32 bit architectures.
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26723}
2015-02-18 14:51:09 +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
ishell
34b5565eb6 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}
2015-02-18 14:02:58 +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
caitpotter88
ea3f39486c [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}
2015-02-17 22:28:12 +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