Commit Graph

36882 Commits

Author SHA1 Message Date
clemensh
2956301707 [clang-format] Don't derive pointer alignment
In V8, we always want the pointer alignment to be left, i.e. "Foo* foo"
instead of "Foo *foo".

R=jochen@chromium.org
NOTRY=true

Review-Url: https://codereview.chromium.org/2631183002
Cr-Commit-Position: refs/heads/master@{#42390}
2017-01-17 09:28:19 +00:00
v8-autoroll
078dddd450 Update V8 DEPS.
Rolling v8/build: 9a3fba5..f55127d

Rolling v8/third_party/catapult: 95b3e83..143ba4d

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

Review-Url: https://codereview.chromium.org/2634223002
Cr-Commit-Position: refs/heads/master@{#42389}
2017-01-17 04:22:56 +00:00
pan.deng
3df428bb92 [turbofan] A bug fix of loadElimination.
KillFields of an object should remove its cache from all the fields.
Currently, the cache in the front field is kept which is not expected.
This patch fixes it.

Review-Url: https://codereview.chromium.org/2618273002
Cr-Commit-Position: refs/heads/master@{#42388}
2017-01-17 03:12:08 +00:00
jyan
738cb6a759 s390: remove RotLeftAndMask32 on s390
RotleftAndMask32 is not efficient on s390

R=bjaideep@ca.ibm.com, joransiu@ca.ibm.com
BUG=

Review-Url: https://codereview.chromium.org/2638813002
Cr-Commit-Position: refs/heads/master@{#42387}
2017-01-16 20:02:23 +00:00
machenbach
310a899773 [foozzie] Refactoring - move source hashing to main script
BUG=chromium:673246
NOTRY=true

Review-Url: https://codereview.chromium.org/2635923002
Cr-Commit-Position: refs/heads/master@{#42386}
2017-01-16 19:53:35 +00:00
bbudge
a7e67924d1 [ARM] Add vmin, vmax NEON instructions.
- Adds vmin, vmax for FP and integer vectors, both signed and unsigned.
- Regularizes switching logic in disasm and simulator for special codes
4 and 6.
- Factors vrecpe, vrsqrte, vrecps, vrsqrts into helper fns.

LOG=N
BUG=v8:4124

Review-Url: https://codereview.chromium.org/2623993006
Cr-Commit-Position: refs/heads/master@{#42385}
2017-01-16 19:36:25 +00:00
rossberg
39e455db0d [wasm] Catch attempt to export non-existent memory
R=titzer@chromium.org
BUG=v8:5840

Review-Url: https://codereview.chromium.org/2633153002
Cr-Commit-Position: refs/heads/master@{#42384}
2017-01-16 17:44:47 +00:00
hpayer
38088853de [heap] Fix live object iterator to skip grey filler objects.
BUG=v8:5829

patch from issue 2634493004 at patchset 20001 (http://crrev.com/2634493004#ps20001)

Review-Url: https://codereview.chromium.org/2634033003
Cr-Commit-Position: refs/heads/master@{#42383}
2017-01-16 17:21:20 +00:00
rmcilroy
c8ac1a0ca5 Revert of [Parser] Introduce AstStringConstants to share constants across AstValueFactory (patchset #4 id:80001 of https://codereview.chromium.org/2630343002/ )
Reason for revert:
Seems to break modules-namespace2 on gcstress.

Original issue's description:
> [Parser] Introduce AstStringConstants to share constants across AstValueFactory
>
> Creates an AstStringConstants container which pre-initializes the
> string constants used by AstValueFactory. This ensures that all
> AstValueFactories will produce the same AstValue objects for constants,
> and so they can be used by the BytecodeGenerator without having to pass
> the AstValueFactory to it, enabling construction off-thread.
>
> BUG=v8:5203
>
> Review-Url: https://codereview.chromium.org/2630343002
> Cr-Commit-Position: refs/heads/master@{#42381}
> Committed: d611496b8e

TBR=ahaas@chromium.org,marja@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5203

Review-Url: https://codereview.chromium.org/2638783002
Cr-Commit-Position: refs/heads/master@{#42382}
2017-01-16 16:35:15 +00:00
rmcilroy
d611496b8e [Parser] Introduce AstStringConstants to share constants across AstValueFactory
Creates an AstStringConstants container which pre-initializes the
string constants used by AstValueFactory. This ensures that all
AstValueFactories will produce the same AstValue objects for constants,
and so they can be used by the BytecodeGenerator without having to pass
the AstValueFactory to it, enabling construction off-thread.

BUG=v8:5203

Review-Url: https://codereview.chromium.org/2630343002
Cr-Commit-Position: refs/heads/master@{#42381}
2017-01-16 16:06:47 +00:00
clemensh
2702d0fbe3 [wasm] [codestyle] Fix pointer alignment in wasm-debug.cc
Our .clang-format is derived on the Google style, which sets
PointerAlignment to left (e.g. "Type* name"), but sets
DerivePointerAlignment to true. Once we started with the wrong style,
this made all new code in wasm-debug.cc use PointerAlignment=right,
resulting in lots of code using the wrong style.

For this CL, I ran
clang-format -style="{DerivePointerAlignment: false, BasedOnStyle: \
  Google}" -i src/wasm/wasm-debug.cc

R=titzer@chromium.org

Review-Url: https://codereview.chromium.org/2635003002
Cr-Commit-Position: refs/heads/master@{#42380}
2017-01-16 15:44:06 +00:00
rossberg
4f556e9e4b Add @@toStringTag for WebAssembly classes
R=titzer@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2625133005
Cr-Commit-Position: refs/heads/master@{#42379}
2017-01-16 15:31:40 +00:00
daniel.bevenius
3e4c170bc7 Updating comment changing bevavior -> behavior
BUG=

Review-Url: https://codereview.chromium.org/2187383002
Cr-Commit-Position: refs/heads/master@{#42378}
2017-01-16 14:53:28 +00:00
leszeks
d4ac63de7c [ignition] Create the type feedback vector after bytecode generation
BUG=v8:5832

Review-Url: https://codereview.chromium.org/2627783008
Cr-Commit-Position: refs/heads/master@{#42377}
2017-01-16 14:29:08 +00:00
ishell
ac45f88acb [runtime] Fix postmortem metadata generator.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review-Url: https://codereview.chromium.org/2636893002
Cr-Commit-Position: refs/heads/master@{#42376}
2017-01-16 14:24:50 +00:00
yangguo
d33dc16f43 Add test case for Number.prototype.toString (r42364).
TBR=tebbi@chromium.org
BUG=chromium:679841

Review-Url: https://codereview.chromium.org/2631163002
Cr-Commit-Position: refs/heads/master@{#42375}
2017-01-16 13:49:00 +00:00
franzih
9f0f50c2ad [Runtime] Remove obsolete constants.
Remove now obsolete constants (see 8f0bf07b50)
from postmortem metadata generator.

BUG=

Review-Url: https://codereview.chromium.org/2636863004
Cr-Commit-Position: refs/heads/master@{#42374}
2017-01-16 13:38:40 +00:00
mic.besace
9c10cb0230 Do not ignore inspector_protocol and binutils directories
third_party/inspector_protocol is tracked in git and ignoring it causes
problems if the tree is copied to another git repository (e.g. Node.js)
Similarly, third_party/binutils has some files checked in. This adds a
.gitignore file in this directory (same as Chromium).

R=franzih@chromium.org,ofrobots@google.com,machenbach@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2635483002
Cr-Commit-Position: refs/heads/master@{#42373}
2017-01-16 13:22:00 +00:00
rossberg
ef555d08a9 Delay all exceptions in WebAssembly.instantiate
R=titzer@chromium.org
BUG=v8:5818

Review-Url: https://codereview.chromium.org/2637703004
Cr-Commit-Position: refs/heads/master@{#42372}
2017-01-16 13:13:42 +00:00
machenbach
69465f73f8 [foozzie] Stop using extra metadata files.
Continuation of:
https://codereview.chromium.org/2620343005/

This removes usage of metadata files entirely. Instead we extract
the instrumentation about source files from the test cases.

This also adds extra output of the original source file in the
detailed failure text for easier debugging. The hashes alone
made it hard to reason.

BUG=chromium:673246
NOTRY=true
TBR=tandrii@chromium.org,mbarbella@chromium.org

Review-Url: https://codereview.chromium.org/2634743004
Cr-Commit-Position: refs/heads/master@{#42371}
2017-01-16 13:00:50 +00:00
rossberg
22abb8b123 Make Wasm objects API objects
R=titzer@chromium.org
BUG=680833

Review-Url: https://codereview.chromium.org/2634963002
Cr-Commit-Position: refs/heads/master@{#42370}
2017-01-16 12:58:32 +00:00
ishell
46134ff4b0 [crankshaft][runtime] Initialize uninitialized double fields with hole NaN value instead of 0.0.
... and ensure that we do a full store when we overwrite uninitialized values.

This cleanup is necessary for checking that constant field tracking works as expected (once landed).

BUG=v8:5495

Review-Url: https://codereview.chromium.org/2631123002
Cr-Commit-Position: refs/heads/master@{#42369}
2017-01-16 12:26:07 +00:00
marja
bbcb33c773 PreParser scope analysis: sloppy block funcs.
- Generalize the sloppy block function data structures to allow
  PreParser adding and hoisting sloppy block funcs.
- This completes PreParser scope analysis.

BUG=v8:5501, v8:5516
R=verwaest@chromium.org

Review-Url: https://codereview.chromium.org/2636543002
Cr-Commit-Position: refs/heads/master@{#42368}
2017-01-16 12:07:57 +00:00
leszeks
064c584a11 [ast] Ensure that AST rewriting for non-top-level can be off-thread
Adds checks to ensure that AST rewriting only runs for top-level (or eval)
code, that for these cases it runs on the main thread, and that for
non-top-level code it can safely be called off-thread.

BUG=v8:5832

Review-Url: https://codereview.chromium.org/2630563002
Cr-Commit-Position: refs/heads/master@{#42367}
2017-01-16 12:03:14 +00:00
ishell
8f0bf07b50 [runtime] Remove PropertyType definition and use PropertyKind/PropertyLocation instead.
Now we can add a constness bit to the PropertyDetails.

BUG=v8:5495

Review-Url: https://codereview.chromium.org/2629423002
Cr-Commit-Position: refs/heads/master@{#42366}
2017-01-16 11:59:18 +00:00
bmeurer
64963e1b14 [turbofan] Don't merge PropertyAccessInfos with different field maps.
BUG=chromium:679378
R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2634953002
Cr-Commit-Position: refs/heads/master@{#42365}
2017-01-16 11:47:47 +00:00
yangguo
73de4f8f1e Fix overflow in Number.prototype.toString with custom radix.
R=tebbi@chromium.org
BUG=chromium:679841

Review-Url: https://codereview.chromium.org/2638733002
Cr-Commit-Position: refs/heads/master@{#42364}
2017-01-16 11:44:29 +00:00
ahaas
a686de07b1 [wasm] Add the 'end' opcode at the end of the fuzzer input
Without the end opcode at the end of a function nearly every fuzzer
input would be invalid and test nothing.

R=titzer@chromium.org

Review-Url: https://codereview.chromium.org/2634943002
Cr-Commit-Position: refs/heads/master@{#42363}
2017-01-16 11:27:20 +00:00
leszeks
b5b56e920a [ast] Remove heap accesses from AST numbering
Moves constant element/property array building to be deferred for
igition and on-demand for the other compilers, and splits off the
object/array literal depth/flag initialisation from the array building.

BUG=v8:5832

Review-Url: https://codereview.chromium.org/2625873009
Cr-Commit-Position: refs/heads/master@{#42362}
2017-01-16 11:25:05 +00:00
jochen
f40fdd1f3b [compiler-dispatcher] make it so that we can always parse on bg threads
BUG=v8:5215
R=rmcilroy@chromium.org,hpayer@chromium.org,vogelheim@chromium.org,marja@chromium.org

Review-Url: https://codereview.chromium.org/2625413004
Cr-Commit-Position: refs/heads/master@{#42361}
2017-01-16 10:49:16 +00:00
ishell
c6f0de8dd6 [debugger] Use PropertyKind instead of PropertyType.
BUG=v8:5495

Review-Url: https://codereview.chromium.org/2628323003
Cr-Commit-Position: refs/heads/master@{#42360}
2017-01-16 10:48:07 +00:00
ahaas
fec614151a [wasm] Remove special treatment of F(32|64)Sub in the interpreter.
The special treatment is not required anymore because the wasm spec
changed and NaNs do not have to be preserved anymore. In addition, it
may introduce non-determinism which confused the fuzzers.

R=titzer@chromium.org
BUG=chromium:681033

Review-Url: https://codereview.chromium.org/2630293002
Cr-Commit-Position: refs/heads/master@{#42359}
2017-01-16 10:43:03 +00:00
predrag.rudic
0d0d623b57 MIPS[64]: Implement Word[32|64]ReverseByte instruction selector unit tests
BUG=

Review-Url: https://codereview.chromium.org/2398993003
Cr-Commit-Position: refs/heads/master@{#42358}
2017-01-16 10:32:23 +00:00
marja
4fb60b2158 objects.h splitting side work: move scopeinfo.cc to its logical place.
src/ast/scopeinfo.cc -> src/objects/scope-info.cc

BUG=v8:5402

Review-Url: https://codereview.chromium.org/2637793002
Cr-Commit-Position: refs/heads/master@{#42357}
2017-01-16 10:30:59 +00:00
machenbach
c4a35ed7e8 [foozzie] Remove suppressions for fixed bugs
BUG=chromium:663750,chromium:662907,chromium:663340,chromium:666308,chromium:669017
NOTRY=true
TBR=jarin@chromium.org, bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/2632153002
Cr-Commit-Position: refs/heads/master@{#42356}
2017-01-16 09:01:51 +00:00
gdeepti
ca03447cae [wasm] Internal Instantiate function should not take memory as an arg from wasm
BUG=5823

R=bradnelson@chromium.org

Review-Url: https://codereview.chromium.org/2636803002
Cr-Commit-Position: refs/heads/master@{#42355}
2017-01-16 08:58:25 +00:00
yangguo
11cf146610 [debugger] whitelist some builtins as side-effect free.
R=jgruber@chromium.org
BUG=v8:5821

Review-Url: https://codereview.chromium.org/2634523002
Cr-Commit-Position: refs/heads/master@{#42354}
2017-01-16 06:57:54 +00:00
v8-autoroll
c777b6e272 Update V8 DEPS.
Rolling v8/buildtools: 9a94713..cb12d6e

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

Review-Url: https://codereview.chromium.org/2638693002
Cr-Commit-Position: refs/heads/master@{#42353}
2017-01-16 04:21:56 +00:00
zhengxing.li
4a03e19fc1 X87: [debugger] infrastructure for side-effect-free debug-evaluate.
port aa75904e3c (r42270)

  original commit message:

BUG=

Review-Url: https://codereview.chromium.org/2626043005
Cr-Commit-Position: refs/heads/master@{#42352}
2017-01-16 03:15:15 +00:00
zhengxing.li
f9677ecf5f X87: [TypeFeedbackVector] Root literal arrays in function literals slots.
port b8294aaa97 (r42264)

  original commit message:
  Literal arrays and feedback vectors for a function can be garbage
  collected if we don't have a rooted closure for the function, which
  happens often. It's expensive to come back from this (recreating
  boilerplates and gathering feedback again), and the cost is
  disproportionate if the function was inlined into optimized code.

  To guard against losing these arrays when we need them, we'll now
  create literal arrays when creating the feedback vector for the outer
  closure, and root them strongly in that vector.

BUG=

Review-Url: https://codereview.chromium.org/2627973007
Cr-Commit-Position: refs/heads/master@{#42351}
2017-01-16 02:54:08 +00:00
titzer
7d42244a7e [wasm] Enforce that function bodies end with the \"end\" opcode.
R=rossberg@chromium.org
BUG=chromium:575167

Review-Url: https://codereview.chromium.org/2630553002
Cr-Original-Original-Commit-Position: refs/heads/master@{#42286}
Committed: fcc6e85ec6
Review-Url: https://codereview.chromium.org/2630553002
Cr-Original-Commit-Position: refs/heads/master@{#42315}
Committed: 74a2f9b7d3
Review-Url: https://codereview.chromium.org/2630553002
Cr-Commit-Position: refs/heads/master@{#42350}
2017-01-15 21:18:53 +00:00
gdeepti
ccf0998d63 [wasm] Table.Grow should grow dispatch tables
- Table.Grow updates function, signature table sizes
 - Updates generated code with new base addresses for function, signature tables
 - Relocates size references for correct bounds check

R=bradnelson@chromium.org, titzer@chromium.org

Review-Url: https://codereview.chromium.org/2637643002
Cr-Commit-Position: refs/heads/master@{#42349}
2017-01-15 07:46:08 +00:00
v8-autoroll
6fad1ad27d Update V8 DEPS.
Rolling v8/buildtools: 7e08d33..9a94713

Rolling v8/third_party/catapult: 1bcf49e..95b3e83

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

Review-Url: https://codereview.chromium.org/2638583002
Cr-Commit-Position: refs/heads/master@{#42348}
2017-01-15 04:24:32 +00:00
v8-autoroll
54d387aa38 Update V8 DEPS.
Rolling v8/build: 15635a4..9a3fba5

Rolling v8/third_party/catapult: fe8a3c8..1bcf49e

Rolling v8/tools/clang: 0147ef9..f7ce1a5

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

Review-Url: https://codereview.chromium.org/2628273005
Cr-Commit-Position: refs/heads/master@{#42347}
2017-01-14 04:20:41 +00:00
bjaideep
8b1303ab91 S390: fix to use the correct cmp macro function
This issue was exposed with snapshot=off

R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=n

Review-Url: https://codereview.chromium.org/2638473003
Cr-Commit-Position: refs/heads/master@{#42346}
2017-01-14 00:53:28 +00:00
kozyatinskiy
5a1ad6bd1f Revert of Temporarily skip debugger/debug/es8/async-function-debug-scopes test. (patchset #1 id:1 of https://codereview.chromium.org/2636473002/ )
Reason for revert:
Inspector doesn't call any JS on async event any more.

https://codereview.chromium.org/2623313005/

Original issue's description:
> Temporarily skip debugger/debug/es8/async-function-debug-scopes test.
>
> BUG=v8:5837
> NOTRY=true
>
> Review-Url: https://codereview.chromium.org/2636473002
> Cr-Commit-Position: refs/heads/master@{#42319}
> Committed: 93aca16937

TBR=machenbach@chromium.org,ishell@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5837

Review-Url: https://codereview.chromium.org/2637533002
Cr-Commit-Position: refs/heads/master@{#42345}
2017-01-13 23:37:06 +00:00
danno
95a9b76115 [turbofan] Improve codegen for 8- and 16-bit memory comparisons on Intel platforms (reland)
Recognize and emit in-memory comparisons of 8-bit and 16-bit values with
immediate values that fit.

LOG=N
R=epertoso@chromium.org

Review-Url: https://codereview.chromium.org/2605863002
Cr-Commit-Position: refs/heads/master@{#42344}
2017-01-13 23:34:36 +00:00
jshin
ac9e628539 Fix two DCHECK failures in ICU case mapping code
1.
DCHECK in runtime-i18n.cc for case mapping was wrong to
assume that the longest primary language tag is 3 characters.
BCP 47 actually allows up to 8 characters.

2. GetFlatContent() was called to a string without flattening it first.

BUG=680314,680464
TEST=intl/general/case-mapping (see also the bugs)

Review-Url: https://codereview.chromium.org/2629763003
Cr-Commit-Position: refs/heads/master@{#42343}
2017-01-13 23:12:43 +00:00
mtrofin
f8fd6ec3dd [wasm] JS-API: enable WebAssembly.instantiate tests; fix LinkError
We weren't throwing LinkError where appropriate

progress

BUG=v8:5835

Review-Url: https://codereview.chromium.org/2629523007
Cr-Commit-Position: refs/heads/master@{#42342}
2017-01-13 20:47:44 +00:00
bjaideep
8af80a0af9 PPC: Enable P9 and implement mod[s|u][d|w] instr
Enabled support for Power9 hardware and implemented P9 modulo
instruction.

R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, jochen@chromium.org
BUG=
LOG=n

Review-Url: https://codereview.chromium.org/2625013002
Cr-Commit-Position: refs/heads/master@{#42341}
2017-01-13 20:46:29 +00:00