Commit Graph

29345 Commits

Author SHA1 Message Date
mstarzinger
a02b7aaa6d [testing] Move the last JS tests out of "preparser".
This moves the last remaining JS file based tests out of the "preparser"
suite. The tests in question all are expected to parse normally and not
throw any exception. This also deprecates the ability of the test suite
to run anything else outside Python templated tests.

R=adamk@chromium.org
TEST=preparser

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

Cr-Commit-Position: refs/heads/master@{#34753}
2016-03-14 17:10:49 +00:00
oth
7a63e0be77 [interpreter] Use bytecode-array-iterator in BytecodeArray::Print().
BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34752}
2016-03-14 17:07:38 +00:00
verwaest
4ebd97b426 Optimize flattening of cons strings with equal left and right-side.
This significantly speeds up flattening repeat strings (e.g., '.'.repeat(1000)).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34751}
2016-03-14 16:20:30 +00:00
mtrofin
3941f3474d Pass the 'extra' parameter for X64OperandConverter::ToOperand
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34750}
2016-03-14 16:14:58 +00:00
mstarzinger
51a22bdabc [testing] Extend interpreter testing to webkit suite.
This also runs the webkit test suite against Ignition. By now most of
the tests pass, the failing ones have been blacklisted.

R=machenbach@chromium.org
TEST=webkit

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

Cr-Commit-Position: refs/heads/master@{#34749}
2016-03-14 16:12:50 +00:00
Hannes Payer
f798cdac92 Disable black allocation.
BUG=
R=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34748}
2016-03-14 15:34:20 +00:00
ahaas
1b23079936 [wasm] Int64Lowering of Int64Add on ia32 and arm.
Int64Add is lowered to a new turbofan operator, Int32AddPair. The new
operator takes 4 inputs an generates 2 outputs. The inputs are the low
word of the left input, high word of the left input, the low word of the
right input, and high word of the right input. The ouputs are the low
and high word of the result of the addition.

R=titzer@chromium.org, v8-arm-ports@googlegroups.com

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

Cr-Commit-Position: refs/heads/master@{#34747}
2016-03-14 15:34:19 +00:00
martyn.capewell
2cd9877b6d [turbofan] ARM: Reduce out-of-line NaN code size
Reduce the amount of code generated for OutOfLineLoadFloat* by computing
sqrt(-1) rather than move the NaN as an immediate. Add support for single
precision floating point immediate moves to enable this.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34746}
2016-03-14 15:31:04 +00:00
verwaest
d358357478 Replace PushIfAbsent by a Stack object
This significantly speeds up String(array).
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34745}
2016-03-14 14:45:03 +00:00
titzer
421a67b0f4 [wasm] Attach loop assignment analysis behind a flag.
R=bradnelson@chromium.org,binji@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34744}
2016-03-14 14:14:20 +00:00
hpayer
ad51e8b1e8 [heap] Black allocation.
When black allocation is active, all objects allocated in old space are allocated black. Important: With that change, you cannot assume anymore that new objects are white right after their allocation. Currently, black allocation is enabled when incremental marking is started.

This feature can be turned off via flag: --noblack-allocation

BUG=chromium:561449
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#34743}
2016-03-14 14:03:01 +00:00
titzer
4233050f77 [wasm] Refactor tests for i64.
Move all tests that use i64 values into test-run-wasm-64.cc. Introduce
macros that enable tests as they are implemented on 32 bit platforms.

R=ahaas@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34742}
2016-03-14 13:24:36 +00:00
ulan
70632e51c0 Revert of Enable parallel pointer updates after evacuation. (patchset #1 id:1 of https://codereview.chromium.org/1784643010/ )
Reason for revert:
Speculative revert to check if this CL is causing GC stress failures.

Original issue's description:
> Enable parallel pointer updates after evacuation.
>
> BUG=chromium:578883
> LOG=NO
>
> Committed: https://crrev.com/7217fcc0bf5b0f62947f92128ec76855d50e91da
> Cr-Commit-Position: refs/heads/master@{#34712}

TBR=mlippautz@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:578883
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#34741}
2016-03-14 13:21:16 +00:00
hpayer
380676e2da On stack overflow, just perform a regular GC instead of an OOM emergency GC.
The OOM emergency GCs result in time outs on the stress GC bots. Doing a regular stress compaction GC is enough to stress the garbage collector.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34740}
2016-03-14 13:19:31 +00:00
yangguo
b7be51cd33 Revert of Allow Math.random to be called when creating a custom startup snapshot. (patchset #2 id:20001 of https://codereview.chromium.org/1780173002/ )
Reason for revert:
Regresses performance on base64 benchmark.

Original issue's description:
> Allow Math.random to be called when creating a custom startup snapshot.
>
> R=jkummerow@chromium.org
> BUG=v8:4810
> LOG=N
>
> Committed: https://crrev.com/6a7ec6a3bf779cdd41c66a768fd7a37195ed7b7f
> Cr-Commit-Position: refs/heads/master@{#34705}

TBR=jkummerow@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=v8:4810, chromium:594484
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34739}
2016-03-14 10:27:19 +00:00
ahaas
d57d14b978 [wasm] Int64Lowering of I64XConvertFXX instructions.
On 32-bit systems I64XConvertFXX instructions are compiled to calls to
C functions. The TF node for the function call is already generated in
the wasm compiler, the lowering of the I64 parameter is done in the
Int64Lowering. We use the return value of the C function to determine
whether the conversion should trap or not.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34738}
2016-03-14 10:14:18 +00:00
bradnelson
5fceb67049 Dropping shadowed variable.
Accidentally introduced in:
https://crrev.com/da632baac7e28d370d9893676c8d1d3e901a4400
crrev.com/1652963004

BUG= https://code.google.com/p/v8/issues/detail?id=4203
BUG=427616
TEST=test-asm-validator
R=brucedawson@chromium.org,aseemgarg@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34737}
2016-03-14 06:33:46 +00:00
jarin
4d4bd54f0a [turbofan] Fix operand calculation for constant materialization from frame.
BUG=chromium:582702
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34736}
2016-03-13 20:21:41 +00:00
v8-autoroll
7b48773d7e Update V8 DEPS.
Rolling v8/tools/clang to 1e45fb0482b997a87bff1d5edfeac5b2c5458943

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34735}
2016-03-13 04:24:58 +00:00
v8-autoroll
46542b885d Update V8 DEPS.
Rolling v8/buildtools to 7274f1c726640bce4cd4c4198e1ee62a0b29bb89

Rolling v8/third_party/icu to 6d3b55dfa17d9a597c064eeef7ceac18c73184b7

Rolling v8/tools/clang to ec17c92cc70fcd8f5f39eaa17f3dbbd99e29c1f9

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34734}
2016-03-12 04:18:34 +00:00
littledan
0e3bd2758f Improve test262.status
This patch removes some [PASS, FAIL_OK] lines which consistently pass,
and it declares some tests to be test bugs as appropriate.

R=adamk

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

Cr-Commit-Position: refs/heads/master@{#34733}
2016-03-11 18:58:40 +00:00
adamk
b16fc86389 Remove --harmony-tostring runtime flag
ES2015 Object.prototype.toString semantics were enabled in version 4.9,
which has been in stable Chrome for nearly two weeks at this point.

R=littledan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34732}
2016-03-11 18:20:48 +00:00
balazs.kilvady
515105a700 MIPS64: Use BOVC/BNVC for overflow checking on r6.
Port 21b331e3ff

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34731}
2016-03-11 18:19:06 +00:00
titzer
90eb63418b [wasm] Fix OpcodeLength() calculation.
R=bradnelson@chromium.org,binji@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34730}
2016-03-11 18:02:19 +00:00
mlippautz
e94850ea62 [heap] Remove left-overs of RESCAN_ON_EVACUATION flag.
The code actually setting this flag has already been removed. This CL merely
removes dead code.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34729}
2016-03-11 15:45:13 +00:00
mlippautz
b154e48000 [heap] Remove unused flag prohibiting local slot buffer entries
This is a fix that removes a left over from
  https://crrev.com/4566531c6e593ae8bffc2ef96f82c91d15a68acf

With this flag set to false still present, we would race on inserting in the
local old-to-new remembered set.

R=ulan@chormium.org
BUG=chromium:524425
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34728}
2016-03-11 15:24:35 +00:00
jkummerow
864f33d761 Don't use TurboFan when Crankshaft has optimized too many times
Just disable optimization, like we used to.
This undoes a part of r34396's changes in behavior.

BUG=chromium:593094
LOG=n
R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34727}
2016-03-11 15:12:03 +00:00
Hannes Payer
95df7c3427 [heap] Pass the right arguments to MSAN for promotion queue entries.
BUG=chromium:561449
LOG=n
R=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34726}
2016-03-11 15:12:02 +00:00
ofrobots
cbd91c5208 Fix post-mortem data after frame-marking changes
Post-mortem metadata generation broke as a result of
https://codereview.chromium.org/1696043002

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34725}
2016-03-11 15:12:01 +00:00
joransiu
59267a08f1 S390: Printf format specifier for size_t
GCC on S390 31-bit treats size_t as 'long unsigned int', which
is incompatible with %d format specifier that expects an 'int'.
Introduce a new V8 SIZET PREFIX to use %zd instead.

R=danno@chromium.org,jkummerow@chromium.org,jochen@chromium.org,jyan@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com,yangguo@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34724}
2016-03-11 15:10:18 +00:00
mythria
d1e3b72ede [Interpreter] Fixes cctest/test-serialize/SerializeInternalReference for ignition.
Updates cctest.status and also updates the test
cctest/test-serialize/SerializeInternalReference to return success when
FLAG_ignition is true. This test tests for internal references and is not
relevant for interpreter.

BUG=v8:4280,v8:4680
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34723}
2016-03-11 13:35:49 +00:00
hpayer
c0d8036e91 [heap] Use struct Entry to fill inlined promotion queue entries.
BUG=chromium:561449
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#34722}
2016-03-11 13:27:59 +00:00
titzer
786bb0ebfc [wasm] Move output of --trace-wasm-decode-time to wasm-compiler and include compile time.
R=ahaas@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34721}
2016-03-11 13:18:26 +00:00
neis
f06f49c852 Adapt membrane example to ES6 proxies.
R=rossberg
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34720}
2016-03-11 13:10:17 +00:00
jkummerow
474e6a3d6d [arm64] Fix i/d cache line size confusion typo
BUG=chromium:593867
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#34719}
2016-03-11 12:49:24 +00:00
ishell
dd0e6ca04c [deoptimizer] Removed asserts that do not hold in case of tail call elimination.
These checks can fail if there bottommost function is a tail caller and the next function has different number of arguments than the bottommost one.

BUG=chromium:593697,v8:4698
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34718}
2016-03-11 12:32:54 +00:00
vogelheim
de4f3d3eff Fix expression positions for for-loops.
FullCodegen generates 2 statement positions for the loop init block, like so:

  for(var i = 0; i....
      ^   ^

This change removes the first of those, updates unit tests,
and removes text expectations for Ignition.

---
An alternative would be to emulate the existing behaviour in Ignition, but:
- The new behaviour seems more logical,
- Ignition generates no bytecodes for the 'var', meaning there is no code position to attach the break position to.

BUG=v8:4690
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#34717}
2016-03-11 12:02:51 +00:00
ishell
690c7a854a [turbofan] Avoid dereferencing empty handle when inlining a tail call.
BUG=chromium:593697,v8:4698
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34716}
2016-03-11 11:41:29 +00:00
mstarzinger
6a629ff7a9 [testing] Convert "non-alphanum" to be a "message" test.
This converts another test case that is expected to throw a TypeError
but no SyntaxError to have better test coverage (exact message is being
checked now).

R=machenbach@chromium.org
TEST=message,preparser

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

Cr-Commit-Position: refs/heads/master@{#34715}
2016-03-11 11:36:40 +00:00
mlippautz
4857110ce6 Revert of [platform] Change default platform max thread pool size 4 -> 8 (patchset #1 id:1 of https://codereview.chromium.org/1782833006/ )
Reason for revert:
Seems to trigger bugs, needs investigation.

Original issue's description:
> [platform] Change default platform max thread pool size 4 -> 8
>
> BUG=
>
> Committed: https://crrev.com/ddc0f9982057e76dd4dc35b6ca80d2322adc9141
> Cr-Commit-Position: refs/heads/master@{#34711}

TBR=hpayer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34714}
2016-03-11 11:01:53 +00:00
mstarzinger
57ef4f4f3a [testing] Convert some "preparser" tests into "message".
This converts existing "preparser" tests that expect a certain exception
message to be produced into "message" tests. Thereby we get much better
coverage because the former test suite degraded by now to just check
whether each test case threw or not, the exception message was not being
checked at all.

This also deprecates the ability of "preparser" to specify that single
test cases based on JS files are expected to throw, "messages" is far
superior, use that test suite instead.

R=machenbach@chromium.org
TEST=message,preparser

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

Cr-Commit-Position: refs/heads/master@{#34713}
2016-03-11 11:00:12 +00:00
ulan
7217fcc0bf Enable parallel pointer updates after evacuation.
BUG=chromium:578883
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#34712}
2016-03-11 10:30:00 +00:00
mlippautz
ddc0f99820 [platform] Change default platform max thread pool size 4 -> 8
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34711}
2016-03-11 10:21:08 +00:00
m0609.shim
c0aa9054ce Fix histogram timer to generate ProfViz compatible log.
After histrogram timer added time recaling functionality,
some events, e.g. parse, histogram timer generates event log ending with 'MicroSeconds'.

Since ProfViz can't recorgnize it, this patch cuts off 'MicroSeconds' postfix.

R=vogelheim@chromium.org, yangguo@chromium.org
BUG=chromium:
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34710}
2016-03-11 10:05:24 +00:00
danno
33bc6282b0 Small cleanup refactoring of sp-to-fp offset and slot conversions
Review URL: https://codereview.chromium.org/1777013004

Cr-Commit-Position: refs/heads/master@{#34709}
2016-03-11 09:32:24 +00:00
mstarzinger
28634e574e [testing] Extend interpreter testing to message suite.
This also runs the message test suite against Ignition. By now most of
the source positions (and exception messages) are accurate, the failing
ones have been blacklisted.

R=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34708}
2016-03-11 08:46:38 +00:00
cbruni
1b67e9c86e [counters] Put all counter work behind flags
Avoid creating and initializing timer scopes for builtins as well.

BUG=chromium:589679
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34707}
2016-03-11 08:43:14 +00:00
machenbach
0ca38a6df8 Revert of Replace PushIfAbsent by a Stack object and move StringBuilderJoin to JS (patchset #6 id:100001 of https://codereview.chromium.org/1775403008/ )
Reason for revert:
[Sheriff] This lets a gc stress test time out:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/2337/steps/Mjsunit%20%28flakes%29/logs/regress-542823

The test ran in <2sec before this. Please fix the test as well on a reland.

Original issue's description:
> Replace PushIfAbsent by a Stack object and move StringBuilderJoin to JS
>
> This significantly speeds up String(array).
> BUG=
>
> Committed: https://crrev.com/c91faa0b39b62025460eb9f8b578e20d88f3549e
> Cr-Commit-Position: refs/heads/master@{#34696}

TBR=cbruni@chromium.org,adamk@chromium.org,bmeurer@chromium.org,verwaest@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34706}
2016-03-11 08:41:34 +00:00
yangguo
6a7ec6a3bf Allow Math.random to be called when creating a custom startup snapshot.
R=jkummerow@chromium.org
BUG=v8:4810
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34705}
2016-03-11 08:08:30 +00:00
v8-autoroll
457331fb56 Update V8 DEPS.
Rolling v8/tools/clang to 96f43fa6c1232981bc401c0b6f2e2697a318356b

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34704}
2016-03-11 08:03:40 +00:00