Commit Graph

29235 Commits

Author SHA1 Message Date
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
yangguo
efc50493b7 Fix no-i18n builds.
TBR=littledan@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#34703}
2016-03-11 07:26:48 +00:00
yangguo
5be770b59f [regexp] extend property classes by unicode blocks.
R=littledan@chromium.org
BUG=v8:4810
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34702}
2016-03-11 07:20:09 +00:00
ahaas
0d3c78d118 [wasm] I'm adding the float-to-int64 tests again.
R=binji@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34701}
2016-03-11 07:10:22 +00:00
zhengxing.li
b8f49a273b X87: Rework CallApi*Stubs.
port 5096492f1b (r34627)

  original commit message:
  - Eliminate stubs with a variable number of arguments.
    (That only worked due to their very limited use. These
     stubs' interface descriptors were basically lying
     about their number of args, which will fail when used
     generically.)
  - Fix all CallApi*Stubs' interface descriptors to no
    longer lie about their arguments.
  - Unify CallApi*Stub, for * in Function, Accessor,
    FunctionWithFixedArgs.
    (Since these are now all doing the same thing.)
  - Rename the unified stub (and interface descriptors) to
    *ApiCallback*, since that's really what they're doing.
  - Refuse inlining an API callback if its number of
    parameters exceeds the supported number of args.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34700}
2016-03-11 05:07:33 +00:00
adamk
7d0252db44 [cleanup] Remove unnecessary ClassifyAndRewriteReferenceExpression method
Now that the destructuring flags are gone, we always call
CheckAndRewriteReferenceExpression, so unified the two methods again.
Also cleaned up the code within, e.g. removing unnecessary Scanner::Location
construction.

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

Cr-Commit-Position: refs/heads/master@{#34699}
2016-03-11 01:42:41 +00:00
littledan
611add5255 Minor library function fixes for TypedArray spec compliance
- Make separate iterator functions for TypedArrays which do a type check
  (and in the future should check for detached TypedArrays)
- Share the toString method with Arrays

BUG=v8:4785
R=adamk
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#34698}
2016-03-10 23:38:16 +00:00
littledan
5f5c48da64 Revert removal of TypedArray constructor optimization
When the TypedArray iterator constructor code path was added, a technically
incorrect optimization was added which uses the arraylike code path on array
arguments, even though the %ArrayIterator% could have been monkey-patched
to give different behavior. A previous patch removed this optimization, and
this patch restores it due to the huge performance regression that resulted.

The optimization was previously removed in
https://codereview.chromium.org/1767893002

BUG=chromium:593644
R=adamk
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#34697}
2016-03-10 23:26:26 +00:00
verwaest
c91faa0b39 Replace PushIfAbsent by a Stack object and move StringBuilderJoin to JS
This significantly speeds up String(array).
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34696}
2016-03-10 23:24:24 +00:00
yangguo
aba76874db [regexp] support \p in character classes.
R=littledan@chromium.org
BUG=v8:4743
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34695}
2016-03-10 23:24:23 +00:00
mbrandy
7d48fa5e83 PPC: [wasm] Int64Lowering of I64ShrU and I64ShrS.
Port 240b7db9c7

R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34694}
2016-03-10 23:22:32 +00:00