platform/upstream/v8.git
9 years agoMove LookupResult into crankshaft as that's now the only place where it's still used
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}

9 years agoRemove the holder_ field from LookupResult
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}

9 years agoFix JSObjectFieldAccessor support in crankshaft
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}

9 years agoAlways shrink initial old generation size based on survival rate.
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}

9 years agoSimplify handling of stack overflows in AstGraphBuilder.
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}

9 years agoAdjust types in SourcePosition. int -> uint32_t
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}

9 years ago[x64] Recognize zero extension of 8-bit and 16-bit values.
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}

9 years agoMIPS: Stop using HeapType in IC and Crankshaft
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}

9 years ago[tests]: fix exponentiation in harmony array-concat tests
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}

9 years agoReship classes & object literal extensions
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}

9 years agoStrip Interface class of most of its logic, make it all about Module exports
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}

9 years agoMIPS: [turbofan] Optimize certain chains of Branch into a Switch.
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}

9 years agoRemove redundant helpers from JSGenericLowering.
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}

9 years ago[turbofan] Rename context stack as part of the environment for OSR.
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}

9 years agoConvert to immutable heap number when materializing arguments object.
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}

9 years agoFix compilation in release mode.
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}

9 years agoFix representation for CompareIC in JSGenericLowering.
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}

9 years ago[strong] deprecate empty sub-statements
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}

9 years agoMIPS64: Assembler support for internal references.
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}

9 years agoMIPS64: [turbofan] Initial support for Switch.
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}

9 years ago[strong] Deprecate delete
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}

9 years ago[strong] Forbid var.
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}

9 years agoStop using HeapType in IC and Crankshaft
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}

9 years agoDuring arguments materialization, do not store materialized objects without lazy...
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}

9 years ago[strong] Remove mjsunit/strong/use-strong-flag.js
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}

9 years agoMIPS: reland Fix 'Assembler support for internal references.'
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}

9 years agoStart with a more conservative initial old generation size.
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}

9 years ago[turbofan] Optimize certain chains of Branch into a Switch.
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}

9 years agoAdd historgram for number of GC needed to collect a detached context.
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}

9 years agoCpuProfile: rename HSourcePosition to SourcePosition and move it to compiler.*
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}

9 years ago[turbofan] Fix simplified lowering of NumberToUint32.
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}

9 years ago[strong] make --use-strong flag work in d8
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}

9 years ago[turbofan] Fix control reducer for dead loops.
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}

9 years agoCorrectly propagate terminate exception in TryCall.
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}

9 years agoFix branch test for merge script.
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}

9 years agoPut extra information to the stack when crbug/454297 happens.
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}

9 years ago[turbofan] Refactor JSInliner to be a Reducer.
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}

9 years agoImplement most common usecase for elements kind generalization
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}

9 years agoCpuProfiler: move InlinedFunctionInfo class from HGraphBuilder to CompilationInfo.
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}

9 years agoReduce field type tracking to a single stable map per field.
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}

9 years agoCodeTracer should open file in binary mode to avoid line endings normalization.
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}

9 years agoCleanup AstGraphBuilder::AddHomeObjectIfNeeded a bit.
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}

9 years agoFix typo in merge script.
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}

9 years agoRevert of MIPS: Fix 'Assembler support for internal references.' (patchset #1 id...
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}

9 years agoGCMole issues fixes (part 2).
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}

9 years ago[parsing]: eval/arguments parameter names are ok in sloppy mode
caitpotter88 [Mon, 16 Feb 2015 18:18:05 +0000 (10:18 -0800)]
[parsing]: eval/arguments parameter names are ok in sloppy mode

BUG=v8:3891
LOG=N
R=arv@chromium.org, marja@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26673}

9 years agoMove DeadControl into the JSGraph so that it can be reused.
mstarzinger [Mon, 16 Feb 2015 18:16:52 +0000 (10:16 -0800)]
Move DeadControl into the JSGraph so that it can be reused.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26672}

9 years ago[strong] Adding regression cases which should always continue working.
marja [Mon, 16 Feb 2015 17:57:31 +0000 (09:57 -0800)]
[strong] Adding regression cases which should always continue working.

1) Mutually recursive functions
2) Strong code using non-strong var before declaration.

These test cases ensure that we don't accidentally kill these wanted behaviors
when adding restrictions to strong mode.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26671}

9 years agoFixed GCMole issues after r26667.
ishell [Mon, 16 Feb 2015 17:46:20 +0000 (09:46 -0800)]
Fixed GCMole issues after r26667.

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

Cr-Commit-Position: refs/heads/master@{#26670}

9 years agoFix v8rel script after adding roll branches.
machenbach [Mon, 16 Feb 2015 17:00:44 +0000 (09:00 -0800)]
Fix v8rel script after adding roll branches.

Use git hashes as keys when referring to releases, not
pure commit position numbers as those are not unique.

Better bailout to only check for recent releases.

Add new branching method with a roll branch in heads to
the v8rel test case.

Fix the way v8 is referred to in DEPS files in the test
cases. The test still had svn-number style.

BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#26669}

9 years agoFix for the compilation failure due to multi-line comments in test-migrations.cc
ishell@chromium.org [Mon, 16 Feb 2015 15:49:41 +0000 (16:49 +0100)]
Fix for the compilation failure due to multi-line comments in test-migrations.cc

TBR=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26668}

9 years agoProperty reconfiguring implemented.
ishell [Mon, 16 Feb 2015 15:25:33 +0000 (07:25 -0800)]
Property reconfiguring implemented.

Previous approach for property reconfiguration was to create a free-floating map with generalized representations of all fields. This patch does it right.

When property is reconfigured either by changing its kind (kData <-> kAccessor) or its attributes it implies creation of a new branch in transition tree. If such a branch already existed before reconfiguration then it should be merged with the old (or source) branch of the transition tree. Merging procedure includes all the heavy machinery such as property location changes (kDescriptor -> kField), field representation/field type generalization, map deprecation, etc.

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

Cr-Commit-Position: refs/heads/master@{#26667}

9 years ago[turbofan] Fix control reducer with re-reducing branches.
titzer [Mon, 16 Feb 2015 14:56:00 +0000 (06:56 -0800)]
[turbofan] Fix control reducer with re-reducing branches.

R=jarin@chromium.org
LOG=Y
BUG=chromium:458876

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

Cr-Commit-Position: refs/heads/master@{#26666}

9 years ago[turbofan] Clear pending exception from unsuccessful compilation.
jarin [Mon, 16 Feb 2015 14:25:10 +0000 (06:25 -0800)]
[turbofan] Clear pending exception from unsuccessful compilation.

BUG=chromium:458987
LOG=n
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26665}

9 years agoBuild stack frames for stubs only when needed.
svenpanne [Mon, 16 Feb 2015 13:44:51 +0000 (05:44 -0800)]
Build stack frames for stubs only when needed.

The heuristic is quite naive at the moment (build a frame iff the
register allocator needed spill slots), we can improve that later.

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

Cr-Commit-Position: refs/heads/master@{#26664}

9 years agogcc 4.6 fix.
rodolph.perfetta [Mon, 16 Feb 2015 13:26:01 +0000 (05:26 -0800)]
gcc 4.6 fix.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26663}

9 years agoRemove prototype key from the prototype transitions since its also embedded in the...
verwaest [Mon, 16 Feb 2015 13:09:53 +0000 (05:09 -0800)]
Remove prototype key from the prototype transitions since its also embedded in the target map.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26662}

9 years ago[turbofan] Avoid ToNumber conversions if they could deoptimize.
jarin [Mon, 16 Feb 2015 12:59:12 +0000 (04:59 -0800)]
[turbofan] Avoid ToNumber conversions if they could deoptimize.

BUG=chromium:454158
LOG=n
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26661}

9 years agoTrack code cache reject reason via histogram buckets.
yangguo [Mon, 16 Feb 2015 12:39:09 +0000 (04:39 -0800)]
Track code cache reject reason via histogram buckets.

R=vogelheim@chromium.org
BUG=chromium:441896
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26660}

9 years agoInclude range summary when rolling into chromium.
machenbach [Mon, 16 Feb 2015 12:21:34 +0000 (04:21 -0800)]
Include range summary when rolling into chromium.

BUG=chromium:457022
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#26659}

9 years agoRename source_prereqs to inputs in the GN Build file.
tfarina [Mon, 16 Feb 2015 12:09:30 +0000 (04:09 -0800)]
Rename source_prereqs to inputs in the GN Build file.

See more information in the gn-dev mailing list:
https://groups.google.com/a/chromium.org/d/msg/gn-dev/j-P5hlvZ13M/4CSw2WworlkJ

Also in
https://chromium.googlesource.com/chromium/src/+/61a6fca4bca5438bf4338184c29fded55e5f240e

BUG=374271
R=machenbach@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26658}

9 years agoFix branch name in merge script.
machenbach [Mon, 16 Feb 2015 11:57:29 +0000 (03:57 -0800)]
Fix branch name in merge script.

BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#26657}

9 years agoifdefs around LayoutDescriptor::IsConsistenWithMap() removed.
ishell [Mon, 16 Feb 2015 11:29:32 +0000 (03:29 -0800)]
ifdefs around LayoutDescriptor::IsConsistenWithMap() removed.

This avoids potential mess with different compilation modes.

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

Cr-Commit-Position: refs/heads/master@{#26656}

9 years agoGet code flags from compilation info.
svenpanne [Mon, 16 Feb 2015 11:04:22 +0000 (03:04 -0800)]
Get code flags from compilation info.

Removed useless (and in the future incorrect) DCHECKs on the way.

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

Cr-Commit-Position: refs/heads/master@{#26655}

9 years agoRemoved the funky 2-stage initialization of PipelineData.
svenpanne [Mon, 16 Feb 2015 09:30:11 +0000 (01:30 -0800)]
Removed the funky 2-stage initialization of PipelineData.

Use simple old-skool constructors instead. Note that the long repeated
member initializer lists could be reduced a bit by using C++11's
brace-or-equal initializers, which are actually recommended by the
Google C++ style guide in this case, but the ARM toolchain is still
buggy in this area (see patch sets 1 and 2).  :-/

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

Cr-Commit-Position: refs/heads/master@{#26654}

9 years agoRevert "Fix JSArrayBufferView visitor template to fix ARM build."
yangguo [Mon, 16 Feb 2015 09:20:42 +0000 (01:20 -0800)]
Revert "Fix JSArrayBufferView visitor template to fix ARM build."
and "Just visit young array buffers during scavenge. Additionally keep the views in new space in a separate global list and move them to the corresponding array buffers when they get promoted."

This reverts commit 295ab2783025237dd7a1c86ddb13690d910622a1
and commit bd61a85fafd6461a40dc1e20252fd843f148e837.

TBR=hpayer@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26653}

9 years agoUpdate V8 DEPS.
v8-autoroll [Mon, 16 Feb 2015 04:32:49 +0000 (20:32 -0800)]
Update V8 DEPS.

Rolling v8/tools/clang to 21c0f1864716dbe8d8d4061c18efbde7c49b6a6a

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26652}

9 years agoMIPS: Fix 'Assembler support for internal references.'
balazs.kilvady [Sun, 15 Feb 2015 12:50:38 +0000 (04:50 -0800)]
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

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

Cr-Commit-Position: refs/heads/master@{#26651}

9 years agoRevert of Don't always bail out of GenerateTypedArrayInitialize (patchset #1 id:1...
machenbach [Sun, 15 Feb 2015 10:14:38 +0000 (02:14 -0800)]
Revert of Don't always bail out of GenerateTypedArrayInitialize (patchset #1 id:1 of https://codereview.chromium.org/922393003/)

Reason for revert:
Speculative revert. This CL seems to break octane.

Original issue's description:
> Don't always bail out of GenerateTypedArrayInitialize
>
> In an innocuous cleanup patch, https://code.google.com/p/v8/source/detail?r=21621,
> some boolean logic got mixed up and the Hydrogen code for TypedArrayInitialize
> was changed to always bail out. This swaps the logic appropriately.
>
> Committed: https://crrev.com/907f0b6ce573333f1cbca00db5cb1df1ead175bb
> Cr-Commit-Position: refs/heads/master@{#26643}

TBR=dslomov@chromium.org,adamk@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26650}

9 years agoX87: Implement ES6 rest parameters.
chunyang.dai [Sun, 15 Feb 2015 07:39:57 +0000 (23:39 -0800)]
X87: Implement ES6 rest parameters.

port 8bb2e397745630375c3f189293cfbaf791a6403c (r26645).

original commit message:

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26649}

9 years agoX87: Assembler support for internal references.
chunyang.dai [Sun, 15 Feb 2015 06:49:58 +0000 (22:49 -0800)]
X87: Assembler support for internal references.

port 5c119485b485a5c71155501613ae3c12be2863a8 (r26478).

original commit message:

  Assembler support for internal references.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26648}

9 years agoX87: new classes: no longer experimental.
chunyang.dai [Sun, 15 Feb 2015 01:50:39 +0000 (17:50 -0800)]
X87: new classes: no longer experimental.

port 2707d4c9f4b6e6e600e708b3b08b09d27d594ce7 (r26628).

original commit message:

   This CL fixes tests that no longer valid and also fixes two issues:
    1. 'super()' in non derived constructors.
    2. Failure to step into derived constructors.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26647}

9 years agoUpdate V8 DEPS.
v8-autoroll [Sat, 14 Feb 2015 04:36:38 +0000 (20:36 -0800)]
Update V8 DEPS.

Rolling v8/buildtools to 5c5e924788fe40f7d6e0a3841ac572de2475e689

Rolling v8/tools/clang to d5f568673280ba9180bbf0b913b571786c9f352a

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26646}

9 years agoImplement ES6 rest parameters
caitpotter88 [Sat, 14 Feb 2015 00:14:46 +0000 (16:14 -0800)]
Implement ES6 rest parameters

LOG=Y
BUG=v8:2159
R=dslomov@chromium.org, arv@chromium.org, marja@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26645}

9 years agoES6 Classes: Remove tracking of super construct calls.
arv [Fri, 13 Feb 2015 22:26:17 +0000 (14:26 -0800)]
ES6 Classes: Remove tracking of super construct calls.

With the new ES6 semantics super construct calls are only valid in
a constructor in a derived class. This is something that is
statically known and we report early SyntaxError in case it occurs.
We therefore do not need to track this any more.

BUG=v8:3330
LOG=N
R=dslomov@chromium.org, adamk

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

Cr-Commit-Position: refs/heads/master@{#26644}

9 years agoDon't always bail out of GenerateTypedArrayInitialize
adamk [Fri, 13 Feb 2015 20:50:21 +0000 (12:50 -0800)]
Don't always bail out of GenerateTypedArrayInitialize

In an innocuous cleanup patch, https://code.google.com/p/v8/source/detail?r=21621,
some boolean logic got mixed up and the Hydrogen code for TypedArrayInitialize
was changed to always bail out. This swaps the logic appropriately.

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

Cr-Commit-Position: refs/heads/master@{#26643}

9 years agoFix lazy parsing for functions that use super.
arv [Fri, 13 Feb 2015 18:34:52 +0000 (10:34 -0800)]
Fix lazy parsing for functions that use super.

The preparser needs to log the usage of super properties and then update
the scope when we create the function later.

BUG=v8:3888
LOG=N
R=dslomov@chromium.org, marja

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

Cr-Commit-Position: refs/heads/master@{#26642}

9 years agoTF: Add support for [[HomeObject]]
arv [Fri, 13 Feb 2015 18:33:42 +0000 (10:33 -0800)]
TF: Add support for [[HomeObject]]

BUG=None
LOG=N
R=mstarzinger@chromium.org, dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26641}

9 years agoMake the statistics generation data driven.
bratell [Fri, 13 Feb 2015 10:56:41 +0000 (02:56 -0800)]
Make the statistics generation data driven.

StatisticsExtension::GetCounters() has grown to repeat a lot of code
so to make it more maintainable and generate less machine code,
make it data driven. This makes a 64 bit Linux build 50 KB smaller.

Total change: -51677 bytes
==========================
  1 shrunk, for a net change of -51677 bytes (64222 bytes before, 12545 bytes after) across 1 sources
  279691 unchanged, totalling 51423668 bytes

Per-source Analysis:

-------------------------------------------------------------------------------------------------------------------
 -51677 - Source: /home/bratell/src/chromium/src/v8/src/extensions/statistics-extension.cc - (gained 0, lost 51677)
-------------------------------------------------------------------------------------------------------------------
  Shrunk symbols:
     -51677: v8::internal::StatisticsExtension::GetCounters(v8::FunctionCallbackInfo<v8::Value> const&) type=t, (was 64222 bytes, now 12545 bytes)

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26640}

9 years agoMove identical code from platform specific assemblers to assembler.cc
loislo [Fri, 13 Feb 2015 10:45:26 +0000 (02:45 -0800)]
Move identical code from platform specific assemblers to assembler.cc

BUG=none
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26639}

9 years agoProtect access to the external_snapshot_blob global with a lock.
Ross McIlroy [Fri, 13 Feb 2015 10:35:37 +0000 (10:35 +0000)]
Protect access to the external_snapshot_blob global with a lock.

The external_snapshot_blob is a global and might be accessed from multiple
threads.  Protect it with a lock.

BUG=457656
LOG=N
R=vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26638}

9 years agoRefactored the final parts of the TurboFan pipeline a bit.
Sven Panne [Fri, 13 Feb 2015 10:35:18 +0000 (11:35 +0100)]
Refactored the final parts of the TurboFan pipeline a bit.

This removed some inconsistent/duplicated code and made the testing
side entrance much simpler: Now it simply constructs a pipeline and
hands off to the "tail" of the normal pipeline.

R=danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26637}

9 years agoFix compilation for the case dcheck_always_on=1.
loislo [Fri, 13 Feb 2015 10:29:11 +0000 (02:29 -0800)]
Fix compilation for the case dcheck_always_on=1.

It is a default option for some try bots.

otherwise compilation fails on
DCHECK(layout_descriptor->IsConsistentWithMap(*map));

BUG=none
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26636}

9 years agoMIPS: new classes: no longer experimental.
Akos Palfi [Fri, 13 Feb 2015 01:25:58 +0000 (02:25 +0100)]
MIPS: new classes: no longer experimental.

Port 2707d4c9f4b6e6e600e708b3b08b09d27d594ce7

Original commit message:
This CL fixes tests that no longer valid and also fixes two issues:
1. 'super()' in non derived constructors.
2. Failure to step into derived constructors.

BUG=
R=paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#26635}

9 years agoMIPS: new classes: implement correct check for uninitialized this in 'super()'
Akos Palfi [Fri, 13 Feb 2015 01:21:08 +0000 (02:21 +0100)]
MIPS: new classes: implement correct check for uninitialized this in 'super()'

Port fdcf3e59ba4af1aa3c5b31a18e615169c97958ab

BUG=
R=paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#26634}

9 years agoMake super() a syntax error in base class constructor
Erik Arvidsson [Thu, 12 Feb 2015 23:04:40 +0000 (18:04 -0500)]
Make super() a syntax error in base class constructor

BUG=v8:3330
LOG=N
R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26633}

9 years agoFix location of super syntax errors
Erik Arvidsson [Thu, 12 Feb 2015 20:53:03 +0000 (15:53 -0500)]
Fix location of super syntax errors

BUG=v8:3885
LOG=N
R=adamk@chromium.org, dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26632}

9 years agoRemove --experimental-classes flag and related dead code.
Dmitry Lomov [Thu, 12 Feb 2015 20:06:52 +0000 (21:06 +0100)]
Remove --experimental-classes flag and related dead code.

R=arv@chromium.org
BUG=v8:3834
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26631}

9 years agoCPUProfiler: Push deopt reason further to ProfileNode.
loislo [Thu, 12 Feb 2015 19:51:26 +0000 (11:51 -0800)]
CPUProfiler: Push deopt reason further to ProfileNode.

1) create beefy RelocInfo table when cpu profiler is active, so if a function
was optimized when profiler was active RelocInfo would get separate DeoptInfo
for the each deopt case.

2) push DeoptInfo from CodeEntry to ProfileNode.
When deopt happens we put the info collected on #1 into CodeEntry and record stack sample.
On the sampling thread we grab the deopt data and append it to the corresponding ProfileNode deopts list.

Sample profile dump.
[Top down]:
    0  (root) 0 #1
    1     29 #2
    1      test 29 #3
    2        opt_function 29 #4
    2          opt_function 29 #5
                   deopted at 118 with reason 'not a heap number'
                   deopted at 137 with reason 'division by zero'

BUG=452067
LOG=n

Committed: https://crrev.com/ce8701b247d3c6604f24f17a90c02d17b4417f54
Cr-Commit-Position: refs/heads/master@{#26615}

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

Cr-Commit-Position: refs/heads/master@{#26630}

9 years agoCreate v8 roll branches in refs/heads.
machenbach [Thu, 12 Feb 2015 18:34:21 +0000 (10:34 -0800)]
Create v8 roll branches in refs/heads.

This is needed as normal chromium checkouts don't fetch
branch-heads.

These branches will also be replicated by GitHub and are
fetched when cloning from the repository.

The expected object size will be the same or smaller than
before as we currently push the same information onto the
candidates branch (which already is in refs/heads). The only
difference is the increasing number of refs in refs/heads.

BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

TEST=./script_test.py
TEST=tools/release/create_release.py -r machenbach@chromium.org -a machenbach@chromium.org --dry-run

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

Cr-Commit-Position: refs/heads/master@{#26629}

9 years agonew classes: no longer experimental.
Dmitry Lomov [Thu, 12 Feb 2015 18:06:24 +0000 (19:06 +0100)]
new classes: no longer experimental.

This CL fixes tests that no longer valid and also fixes two issues:
1. 'super()' in non derived constructors.
2. Failure to step into derived constructors.

R=arv@chromium.org, yurys@chromium.org
BUG=v8:3834
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#26628}

9 years agoFix for the compilation issue in shared mode introduced by r26624
ishell@chromium.org [Thu, 12 Feb 2015 17:26:57 +0000 (18:26 +0100)]
Fix for the compilation issue in shared mode introduced by r26624

TBR=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26627}

9 years agoAdd missing FrameState to JSTypedLoweringTester::Binop.
mstarzinger [Thu, 12 Feb 2015 17:08:47 +0000 (09:08 -0800)]
Add missing FrameState to JSTypedLoweringTester::Binop.

R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering

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

Cr-Commit-Position: refs/heads/master@{#26626}

9 years agoMark pages created during bootstrapping as never-evacuate.
yangguo [Thu, 12 Feb 2015 16:47:50 +0000 (08:47 -0800)]
Mark pages created during bootstrapping as never-evacuate.

This is to ensure that immutable immortal objects created during
bootstrapping are not relocated.

R=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26625}

9 years agoEnable layout descriptor consistency checks in heap verification mode.
ishell [Thu, 12 Feb 2015 16:40:26 +0000 (08:40 -0800)]
Enable layout descriptor consistency checks in heap verification mode.

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

Cr-Commit-Position: refs/heads/master@{#26624}

9 years agoProperly thread language mode to compilation cache
rossberg [Thu, 12 Feb 2015 16:29:42 +0000 (08:29 -0800)]
Properly thread language mode to compilation cache

Fixes the TSAN issue.

R=mstarzinger@chromium.org
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26623}

9 years agoFix GCMole after b79b985988fd
ulan [Thu, 12 Feb 2015 16:00:25 +0000 (08:00 -0800)]
Fix GCMole after b79b985988fd

NOTREECHECKS=true
BUG=
TBR=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26622}

9 years ago[turbofan] Make the representation type component independent of the semantic component.
jarin [Thu, 12 Feb 2015 15:21:17 +0000 (07:21 -0800)]
[turbofan] Make the representation type component independent of the semantic component.

R=rossberg@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26621}

9 years agoParser / PreParser: trivial unifications
marja [Thu, 12 Feb 2015 15:12:32 +0000 (07:12 -0800)]
Parser / PreParser: trivial unifications

(To minimize the diff of actually interesting unifications.)

R=rossberg@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26620}

9 years ago[strong] no sloppy equality
rossberg [Thu, 12 Feb 2015 15:09:55 +0000 (07:09 -0800)]
[strong] no sloppy equality

R=marja@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26619}