Commit Graph

21194 Commits

Author SHA1 Message Date
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
marja
7c15df8144 [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}
2015-02-17 15:11:08 +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
rossberg
5c847d1f09 [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}
2015-02-17 12:08:02 +00:00
titzer
00d70d63e6 [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}
2015-02-17 11:52:53 +00:00
yangguo
a49b55b788 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}
2015-02-17 11:44:43 +00:00
machenbach
b8ade81ab5 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}
2015-02-17 11:40:18 +00:00
ishell
b85cd71002 Put extra information to the stack when crbug/454297 happens.
Review URL: https://codereview.chromium.org/930243002

Cr-Commit-Position: refs/heads/master@{#26683}
2015-02-17 11:23:42 +00:00
titzer
07599f3565 [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}
2015-02-17 10:31:08 +00:00
verwaest
8e53e31eeb Implement most common usecase for elements kind generalization
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26681}
2015-02-17 10:07:06 +00:00
loislo
e60ec273cc 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}
2015-02-17 09:44:52 +00:00
verwaest
839efa2e26 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}
2015-02-17 08:58:05 +00:00
vegorov
305c73477c 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}
2015-02-17 07:55:49 +00:00
mstarzinger
b82a49e6fb Cleanup AstGraphBuilder::AddHomeObjectIfNeeded a bit.
R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26677}
2015-02-16 21:19:10 +00:00
machenbach
066d1633a2 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}
2015-02-16 19:07:38 +00:00
machenbach
4fdac75d9f 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}
2015-02-16 18:49:45 +00:00
ishell@chromium.org
90734ca186 GCMole issues fixes (part 2).
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26674}
2015-02-16 18:48:21 +00:00
caitpotter88
663a9eeae4 [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}
2015-02-16 18:18:20 +00:00
mstarzinger
03cad07aca 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}
2015-02-16 18:16:57 +00:00
marja
868470ddc9 [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}
2015-02-16 17:57:43 +00:00
ishell
b7458cfa5e Fixed GCMole issues after r26667.
Review URL: https://codereview.chromium.org/927133002

Cr-Commit-Position: refs/heads/master@{#26670}
2015-02-16 17:46:31 +00:00
machenbach
b351e3020f 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}
2015-02-16 17:01:00 +00:00
ishell@chromium.org
3d824f020d 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}
2015-02-16 15:50:06 +00:00
ishell
35841b5055 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}
2015-02-16 15:25:54 +00:00
titzer
c5f7d2bb82 [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}
2015-02-16 14:56:49 +00:00
jarin
d0758949e1 [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}
2015-02-16 14:25:23 +00:00
svenpanne
0914181d97 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}
2015-02-16 13:44:58 +00:00
rodolph.perfetta
20b4d6fe32 gcc 4.6 fix.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26663}
2015-02-16 13:26:16 +00:00
verwaest
a1f7b01ccf 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}
2015-02-16 13:10:06 +00:00
jarin
0b8063cec8 [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}
2015-02-16 12:59:20 +00:00
yangguo
e7c235fa2d 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}
2015-02-16 12:39:18 +00:00
machenbach
15c269b760 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}
2015-02-16 12:21:47 +00:00
tfarina
2968496335 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
61a6fca4bc

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

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

Cr-Commit-Position: refs/heads/master@{#26658}
2015-02-16 12:09:42 +00:00
machenbach
bbb639adb7 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}
2015-02-16 11:57:41 +00:00
ishell
6834d3abdf 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}
2015-02-16 11:29:49 +00:00
svenpanne
56f9cca8f1 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}
2015-02-16 11:04:30 +00:00
svenpanne
acd6715dd9 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}
2015-02-16 09:30:28 +00:00
yangguo
e66d39a6be 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 295ab27830
and commit bd61a85faf.

TBR=hpayer@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26653}
2015-02-16 09:21:02 +00:00