Commit Graph

4337 Commits

Author SHA1 Message Date
Sigurd Schneider
b1cd3ee716 [turbolizer] Update rollup plugin for TypeScript
Change-Id: I8fee653d2e331c2e796115b4cb88a2138e456177
Bug: v8:7327
Notry: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1528730
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Auto-Submit: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60305}
2019-03-18 16:36:58 +00:00
Ulan Degenbaev
f2498a76f2 Revert "[heap] Reduce page size to 256KB"
This reverts commit 8f1c985c55.

Reason for revert: breaks mkgrokdump

Original change's description:
> [heap] Reduce page size to 256KB
> 
> The page size of PPC is kept unchanged because PPC has larger
> physical pages (64KB).
> 
> Bug: chromium:852420
> 
> Change-Id: Ib888ea00a476ff103e00211dbb439186148ef81e
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1481631
> Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Hannes Payer <hpayer@chromium.org>
> Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
> Cr-Commit-Position: refs/heads/master@{#60296}

TBR=ulan@chromium.org,hpayer@chromium.org,jyan@ca.ibm.com

Change-Id: I16175bea8845ac5d16dd43af1add4f2d9e94debc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:852420
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1528247
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60298}
2019-03-18 14:54:43 +00:00
Ulan Degenbaev
8f1c985c55 [heap] Reduce page size to 256KB
The page size of PPC is kept unchanged because PPC has larger
physical pages (64KB).

Bug: chromium:852420

Change-Id: Ib888ea00a476ff103e00211dbb439186148ef81e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1481631
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#60296}
2019-03-18 14:32:10 +00:00
Milad Farazmand
cb7607b875 [testrunner] preventing a StopIteration exception when running tests
The next built-in function throws a "StopIteration" when iterator is exhausted
which will crash and stop the test runner. Asking it to return a "None" instead will
fix the issue.

Change-Id: I3ca4ff8f28f359798c9faf6f1ffbbaa6bb95f156
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524719
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Reviewed-by: Tamer Tas <tmrts@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60294}
2019-03-18 13:16:31 +00:00
Clemens Hammacher
0a703c5b93 [foozzie] Disable async compilation of WebAssembly
Async compilation introduces nondeterminism, thus disable it for
foozzie.

R=ahaas@chromium.org, machenbach@chromium.org

Bug: v8:8949, chromium:942941
Change-Id: Ieeb92c530de299cdd34f0d9cc3a1293b2dc5e139
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526194
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60287}
2019-03-18 12:41:08 +00:00
Michael Starzinger
ed34a736f1 [gcmole] Update bootstrap script for static linkage.
This changes gcmole's bootstrapping script so that it always creates
binaries that link libstdc++ statically (both plugin and Clang) and do
not link against unneeded libraries (only Clang). For deployment of
gcmole on our infrastructure, it is much easier to have fewer external
dependencies.

R=machenbach@chromium.org
BUG=v8:8813

Change-Id: If6f2f3cc3b1f661f7dafbb406eaaf2e639981640
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526002
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60262}
2019-03-15 12:53:51 +00:00
Michael Achenbach
52b22fdf37 [tools] Update gcmole
Bug: v8:8813
Change-Id: I3c173a0c8846a2728e020581fbcaac269f850162
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523786
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60260}
2019-03-15 10:24:49 +00:00
Leszek Swirski
b240733fd5 [gdb] Add helper for creating an object from a pointer
Since the new Objects were introduced, we can no longer cast integers to
and Object pointer and call methods on them in gdb (due to how gdb's
expression evaluator deals with temporaries). So, we add a new helper
method to our gdbinit, "$job", which takes an address and returns an
Object that is now exists in real (stack) memory.

Bug: v8:8994
Change-Id: I760a007e7d2303e3a4b1fecb87e094fb9974e91e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523329
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60245}
2019-03-14 17:33:19 +00:00
Michael Starzinger
e5d10c491e [gcmole] Provide packaging script for gcmole deployment.
This is a minimalistic script usable for creating packages of gcmole
together with the corresponding Clang. Such packages are used on V8's
infrastructure.

R=machenbach@chromium.org
BUG=v8:8813

Change-Id: Iee3594a3acdc7a4e5b5d5628e5557725d27d9ced
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523068
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60237}
2019-03-14 13:50:30 +00:00
Maya Lekova
77f9b28767 Revert "[ptr-compr][x64] Temporarily enable pointer compression on x64"
This reverts commit 589d1a6b75.

Reason for revert: Breaking UBSan - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/5219

Original change's description:
> [ptr-compr][x64] Temporarily enable pointer compression on x64
> 
> ... and make sure that the x64 ptr-compr bots proceed testing V8 without
> pointer compression in order to keep testing the full pointer mode.
> 
> Bug: v8:7703
> Change-Id: Iee725deda813425a6f0722948b54976154f50909
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1497139
> Reviewed-by: Michael Hablich <hablich@chromium.org>
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#60230}

TBR=machenbach@chromium.org,hablich@chromium.org,ishell@chromium.org,verwaest@chromium.org

Change-Id: I5a9f04acba1ef23ae944d97a029ea018808c7fcb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7703
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1522991
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60231}
2019-03-14 09:28:48 +00:00
Igor Sheludko
589d1a6b75 [ptr-compr][x64] Temporarily enable pointer compression on x64
... and make sure that the x64 ptr-compr bots proceed testing V8 without
pointer compression in order to keep testing the full pointer mode.

Bug: v8:7703
Change-Id: Iee725deda813425a6f0722948b54976154f50909
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1497139
Reviewed-by: Michael Hablich <hablich@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60230}
2019-03-14 09:16:26 +00:00
Sergiy Belozorov
1f6bccf428 [tools] Whitespace CL
TBR=sergiyb@chromium.org

Bug: chromium:934964
Change-Id: I4005a0422df68b357e6b34313d31f421c27cc95b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1513612
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60228}
2019-03-14 08:15:56 +00:00
Michael Starzinger
9af9a6b7e9 [gcmole] Switch assignment operator special case.
This updates the existing special casing of assignment operators by
gcmole to match for assignments of {HeapObject} instead of {HeapObject*}
variables. The former now uses the implicit C++ assignment operator call
instead of a primitive assignment binary operation.

Also removes the dead {handle_decl_name} field as a drive-by-fix.

R=mslekova@chromium.org
BUG=v8:8813

Change-Id: I0b48254e7ca1544bc064707a8ca1f204366ddbe4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1517879
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60212}
2019-03-13 11:09:45 +00:00
Sergiy Belozorov
9e4948d8fb [tools] Add support for ref archive type
This will allow us to avoid packaging cctest into official archives, while still
keeeping them around for refbuilds. As a result, official archives will become a
lot smaller.

Corresponding recipe change: https://crrev.com/c/1517881

R=machenbach@chromium.org, tmrts@chromium.org

Bug: v8:8969
Change-Id: Icf67d2f6dd5dc4d4a4f32f9b5c5ef21758410546
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1517880
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60193}
2019-03-12 16:16:01 +00:00
Mythri
71c66873d6 [lite] Allocate FeedbackCell arrays for create closures in lite mode
We want to allocate feedback vectors lazily in lite mode. To do that,
we should create closures with the correct feedback cell. This cl
allocates feedback cell arrays to hold these feedback cells in lite mode.
This cl also modifies the compile lazy to builtin to expect these arrays
in the feedback cell.

Drive-by fix: InterpreterEntryTrampoline no longer has argument count in
a register. So updated comments and removed unnecessary push/pop of this
register.

Bug: v8:8394
Change-Id: I10d8ca67cebce61a284f0c80b200e1f0c24577a2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1511274
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60189}
2019-03-12 14:28:29 +00:00
Tamer Tas
9d34bb85ba Reland "[presubmit] use the correct path for third party libraries"
This is a reland of beaca8cf8b

Original change's description:
> [presubmit] use the correct path for third party libraries
>
> This CL ensures that presubmit script checks Torque files in third_party
> dependencies.
>
> R=szuend@chromium.org
> TBR=machenbach@chromium.org,sergiyb@chromium.org
> CC=​yangguo@chromium.org
>
> No-Try: true
> Change-Id: I9e2b193defbebe7ae85cfc5d14ce50c2ac367e9b
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1513674
> Reviewed-by: Tamer Tas <tmrts@chromium.org>
> Reviewed-by: Simon Zünd <szuend@chromium.org>
> Commit-Queue: Tamer Tas <tmrts@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#60152}

R=szuend@chromium.org
TBR=machenbach@chromium.org,sergiyb@chromium.org
CC=​yangguo@chromium.org

No-Try: true
Change-Id: Id74408fbc69cd45bd48ec06c2e4da556d384d99c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1515753
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Reviewed-by: Tamer Tas <tmrts@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60178}
2019-03-12 08:19:54 +00:00
Irina Yatsenko
25865f0609 Convenience script for debugging with WinDbg (akin to gdbinit)
See: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/windbg-scripting-preview

The script can be loaded into WinDbg with:
.scriptload full_path\windbg.js

Help:
!help

Currently provided functionality:
!jlh("local_handle_var_name")
    prints object held by the handle, e.g. !jlh("key") or !jlh("this->receiver_")
!job(address_or_taggedint)
    prints object at the address, e.g. !job(0x235cb869f9)
!jobs(start_address, count)
    prints 'count' objects from a continuous range of Object pointers, e.g. !jobs(0x5f7270, 42)
!jst() or !jst
    prints javascript stack (output goes into the console)
!jsbp() or !jsbp
    sets bp in v8::internal::Execution::Call (begin user's script)

To run any function from this script (live or postmortem):
dx @$scriptContents.function_name(args)
    e.g. dx @$scriptContents.pointer_size() or e.g. dx @$scriptContents.module_name('chrome_child')

Change-Id: I958ff0544582c1ea0b12fd3349d460d28ac7ed56
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1506450
Commit-Queue: Irina Yatsenko <irinayat@microsoft.com>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60175}
2019-03-12 00:09:17 +00:00
Frank Tang
53149e1015 [Intl] add heap-symbols
Bug: v8:7684
Change-Id: Id27d6c9d011c6093b89c11edca71fbc6e5d9a0fb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1514192
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60174}
2019-03-11 22:46:57 +00:00
Michael Starzinger
ce8a20382c [gcmole] Fix IsRawPointerType predicate.
R=mslekova@chromium.org
BUG=v8:8813

Change-Id: I4d35fdff0f398c4eac3a97932a5e6ce43a49d9c8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1514683
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60171}
2019-03-11 16:37:57 +00:00
Maya Lekova
a49a279f56 Revert "[presubmit] use the correct path for third party libraries"
This reverts commit beaca8cf8b.

Reason for revert: Broke presubmit bot - https://ci.chromium.org/p/v8/builders/ci/V8%20Presubmit/2938

Note that the problem is not with this CL itself, but it uncovers some presubmit issue in Torque code. Until the latter is fixed, I'm reverting to unblock the tree.

Original change's description:
> [presubmit] use the correct path for third party libraries
> 
> This CL ensures that presubmit script checks Torque files in third_party
> dependencies.
> 
> R=​szuend@chromium.org
> TBR=machenbach@chromium.org,sergiyb@chromium.org
> CC=​​yangguo@chromium.org
> 
> No-Try: true
> Change-Id: I9e2b193defbebe7ae85cfc5d14ce50c2ac367e9b
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1513674
> Reviewed-by: Tamer Tas <tmrts@chromium.org>
> Reviewed-by: Simon Zünd <szuend@chromium.org>
> Commit-Queue: Tamer Tas <tmrts@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#60152}

TBR=tmrts@chromium.org,szuend@chromium.org

Change-Id: If8e2db0801f51ef737243ccfcc909d05fb42e3e6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1514633
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60153}
2019-03-11 12:02:03 +00:00
Tamer Tas
beaca8cf8b [presubmit] use the correct path for third party libraries
This CL ensures that presubmit script checks Torque files in third_party
dependencies.

R=szuend@chromium.org
TBR=machenbach@chromium.org,sergiyb@chromium.org
CC=​yangguo@chromium.org

No-Try: true
Change-Id: I9e2b193defbebe7ae85cfc5d14ce50c2ac367e9b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1513674
Reviewed-by: Tamer Tas <tmrts@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60152}
2019-03-11 11:36:15 +00:00
Sergiy Belozorov
f90e5eb9d3 [tools] Whitespace CL
TBR=sergiyb@chromium.org

Bug: chromium:934964
Change-Id: I95ffd94f31c60b0e82cac7653ad4e5978bd3b9d9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1503759
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60140}
2019-03-09 20:20:21 +00:00
Michael Achenbach
a72db1d268 Whitespace change to trigger builders
Change-Id: I60b39b08ab6843826a92b78b4f9e96e485f86198
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1511479
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60123}
2019-03-08 13:16:14 +00:00
Michael Starzinger
bff8621397 [gcmole] Modernize gcmole bootstrap script.
This updates the existing bootstrap.sh script for gcmole to work against
LLVM and Clang version 8.0 releases. This is a follow-up to a previous
change which adapted the gcmole plugin to compile against those same
versions.

R=mslekova@chromium.org
BUG=v8:8813

Change-Id: Id6052fb9a7ec8a63d205eab2d4e233e2121c733d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1511275
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60116}
2019-03-08 11:08:51 +00:00
Maya Lekova
45ae9e0ae9 Update gcmole to work with llvm 8 and the new Object design
After introducing the new pointer-containing Object class in V8 (see
https://docs.google.com/document/d/1_w49sakC1XM1OptjTurBDqO86NE16FH8LwbeUAtrbCo/edit),
gcmole stopped finding errorneous usage of raw pointers in functions that could
trigger GC. This CL modifies the heuristics of the tool to classify Object and
MaybeObject instances as raw pointers, thus giving back the missing warnings.

Updated the gcmole implementation to support modern llvm (tested with llvm 8.0)
for which additional support for MaterializeTemporaryExpr, ExprWithCleanups and
UnaryExprOrTypeTraitExpr was needed.

Basic tests are added to make it harder to introduce such errors without
noticing in the future.

This version gives a lot of false positives when ran on the whole project, see
https://docs.google.com/document/d/1K7eJ0f6m9QX6FZIjZnt_GFtUsjEOC_LpiAwZbcAA3f8/edit

R=jkummerow@chromium.org,mstarzinger@chromium.org

Bug: v8:8813
Change-Id: Ic0190a4bc2642eda8880d9f7b30b5145a76a7d89
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1494754
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60099}
2019-03-07 15:22:22 +00:00
Dan Elphick
803fdb8f20 [docs] Change links from old wiki to v8.dev
Updates a bunch of links from https://github.com/v8/v8/wiki pages to the
appropriate v8.dev page that it redirected to anyway.

Bug: v8:8834
Change-Id: I5b37996900eb779753d97e487d16e1489f54d391
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1503473
Auto-Submit: Dan Elphick <delphick@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60086}
2019-03-07 12:13:30 +00:00
Michael Achenbach
a59ca7358c [test] Make test runner use shell
Bug: v8:8889
Change-Id: If0a8e71dca2ae5660481ba78bf79eb311d60c9e4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1495557
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60079}
2019-03-07 08:16:27 +00:00
Yang Guo
6eb397c405 Fix heap_find gdb macro
R=ulan@chromium.org

Change-Id: Ib2caeeeb9877f853848b4014a8088ee447d1705a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1503765
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60055}
2019-03-06 11:48:12 +00:00
Vadim Gorbachev (bmsdave)
d077f9b5ad fix syntax error in python2 code
we can't use {**dict1, **dict2} in python2 code.
see report https://travis-ci.com/bmsdave/v8/jobs/180113432

Bug: v8:935200
Change-Id: I2f2a1283583432d6d0167436dd7d4205455049cb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1484303
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60039}
2019-03-05 20:07:08 +00:00
Tamer Tas
8c9b8127f2 [testrunner] remove duplicate word from prompt
R=clemensh@chromium.org
CC=machenbach@chromium.org,sergiyb@chromium.org

Bug: v8:8728
Change-Id: I37d10867a805647c98660699233c5c2b23429eae
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1503377
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60038}
2019-03-05 15:51:30 +00:00
Bill Ticehurst
f8acd898de Specify the Python executable on the command line in gm.py
Launching Python scripts can fail on Windows if the Python executable
isn't given as the first argument to the shell. This change adds the
path of the current Python executable, as per the behavior of v8gen.py

Change-Id: Iedaf57bcafc4c6aa6ebb89e945ee967cf393da04
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1497522
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60023}
2019-03-05 03:30:30 +00:00
Georg Neis
6422aa925c [modules] Make debug-scopes handle synthetic variables
... by skipping over them. Such variables appear in the case of direct
namespace exports and default exports. (Actually, the name used for
default exports used to be "*default*" which is not recognized as
synthetic, so I'm renaming it here to ".default").

Bug: chromium:932111
Change-Id: I0554dae9614334fdc02e78606f2db47e92196429
Reviewed-on: https://chromium-review.googlesource.com/c/1494010
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60012}
2019-03-04 15:06:02 +00:00
Tobias Tebbi
438eee8493 [torque-ls] add option to trace communication from client
Bug: v8:8880
Change-Id: I835c465ccb63bcc20e9ec9cafda153a49de2bf7d
Reviewed-on: https://chromium-review.googlesource.com/c/1497010
Reviewed-by: Simon Zünd <szuend@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60010}
2019-03-04 14:43:02 +00:00
Benedikt Meurer
683cf6f43b [cleanup] Remove obsolete "one byte data hint" for strings.
In the early days of Chrome when we used WebKit there was no support for
ASCII strings on the C++ side, so we put a hint onto these two-byte
strings that said "string only contains one byte data", such that
internally in V8 when these were involved in string operations, we could
instead create the *cheaper* one byte strings.

Nowadays Blink properly supports one-byte string representations and
this additional hint only comes with overhead, since we check it in
quite a few places (i.e. on the hot path for string concatenation), plus
we end up consuming more memory due to the additional string maps.
Removing the hint also frees one bit in the InstanceType zoo for
strings.

This alone improves performance on the `bench-dom-serialize.js` test case
by around **3%**.

Tbr: mstarzinger@chromium.org
Bug: v8:6622, v8:8834, v8:8939
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I0753f2859cee7b5a37b6f0da64d8ec39fcb044ff
Doc: https://bit.ly/fast-string-concatenation-in-javascript
Reviewed-on: https://chromium-review.googlesource.com/c/1498478
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60006}
2019-03-04 14:04:02 +00:00
Sathya Gunasekaran
ab24897cb0 [fni] Mark computed props as computed, not anonymous function
I thought about potentially adding the identifer ref to the error but
that would require allocating a new string or at the very least
increasing the size of the resulting cons string. Given that the
parser is pretty performance sensitive, I've decided to not display
the identifier.

Previously, the error was:
  _test.js:3: Error
  a[foo].c = () => { throw Error(); };
                     ^
  Error
    at a.(anonymous function).c (_test.js:3:26)
    at _test.js:5:1

With this patch, the error becomes:
  _test.js:3: Error
  a[foo].c = () => { throw Error(); };
                     ^
  Error
    at a.<computed>.c (_test.js:3:26)
    at _test.js:5:1

Bug: v8:8823
Change-Id: I557b3517e317652c447ca06c5a400e9625353d9b
Reviewed-on: https://chromium-review.googlesource.com/c/1495017
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59985}
2019-03-01 20:52:03 +00:00
Michael Achenbach
d5ef815ca7 [test] Pull exit-code logic to shared base runner
This makes the test runner and numfuzz share the same exit code behavior on
errors. This is needed as they also share the same infrastructure logic
to collect swarming tasks.

Bug: chromium:937228
Change-Id: I155b37c7b10dd22959a4dcf30bbd0321c452236b
Reviewed-on: https://chromium-review.googlesource.com/c/1495987
Reviewed-by: Tamer Tas <tmrts@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59976}
2019-03-01 14:24:56 +00:00
Simon Zünd
7eae3a63bf [torque] Update README.md for the extension to include build step
R=mathias@chromium.org

Bug: v8:8880
Change-Id: I6954ede6669f19d970ad4257fa4699da2db62fd3
Reviewed-on: https://chromium-review.googlesource.com/c/1495982
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59969}
2019-03-01 12:33:35 +00:00
Ben L. Titzer
70a7287c96 [tools] Fix gdbinit cast error
R=clemensh@chromium.org

Change-Id: I1dec320464f5bc80e248cdf0b31b4a095bc54994
Reviewed-on: https://chromium-review.googlesource.com/c/1495981
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59966}
2019-03-01 11:52:54 +00:00
Tamer Tas
a6426cb888 [testrunner] remove the extra characters in progress indicator
After python3 migration, the new print usage started causing leftover character
issues.

This CL fixes the print usage.

R=clemensh@chromium.org,neis@chromium.org
CC=machenbach@chromium.org

Bug: v8:8918
Change-Id: Ibee06677c3bae3e1141579693aa16a539309a566
Reviewed-on: https://chromium-review.googlesource.com/c/1495558
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59961}
2019-03-01 09:37:37 +00:00
Simon Zünd
9911fd13cc [torque-ls] Add prototype language server implementation for Torque
Design Doc: https://goo.gl/9G9d9k

The initial prototype consists of a few parts:

The VS Code extension is now built using TypeScript. The build artifact
is checked-in along side the extension. The extension now starts up
the language server when it is activated. The path to the LS
executable is configurable via VS Code settings.

The language server is a separate executable. It adds a light-weight
object model on top of a Json Parser for reading/writing LSP requests
and responses. The current server is very much bare-bones featurewise:
    - Tell the client that the server can handle "goto definition"
    - Recompile when Torque files change
    - Goto definition support for Macros/Builtins, local variables
      and arguments.

R=mathias@chromium.org, mvstanton@chromium.org, tebbi@chromium.org

Bug: v8:8880
Change-Id: Ie9b433e64ee63e9aa757b6bf71e5d52beb15b079
Reviewed-on: https://chromium-review.googlesource.com/c/1494354
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59960}
2019-03-01 09:30:47 +00:00
Sigurd Schneider
7da5552ece [turbolizer] Update deploy script
after previous change, which moved icons to .png format and
to subdirectory img/.

Bug: v8:7327
Notry: true
Change-Id: Iebbbe175cc65ed1f2e505084344a2b55864732e7
Reviewed-on: https://chromium-review.googlesource.com/c/1494009
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59940}
2019-02-28 11:46:32 +00:00
Sigurd Schneider
65bc5513ca [turbolizer] Show whether block is deferred in schedule view
Change-Id: I19abd54f3c7825a99cbebd370092259cf8c21945
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1494007
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59939}
2019-02-28 11:35:32 +00:00
Michael Achenbach
47608ce626 [foozzie] Add sanity checks to avoid bug flooding
This lets foozzie call d8 with sanity output before doing the actual
correctness comparisons. This will make clusterfuzz dedupe cases on
the difference found in the sanity checks.

Also adding missing OWNERS file.

NOTRY=true

Bug: chromium:933076
Change-Id: I4229183726064cc0ad76da8fe432e1dbb601a7ba
Reviewed-on: https://chromium-review.googlesource.com/c/1491221
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Tamer Tas <tmrts@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59938}
2019-02-28 11:27:32 +00:00
Clemens Hammacher
5ebb852793 [testrunner] Print relative test command
This makes the output a lot smaller and thus makes it easier to see the
relevant part of the command.

R=machenbach@chromium.org

Change-Id: I62ac7218be4a02f0270a2d88a2f69b6ced45a041
Reviewed-on: https://chromium-review.googlesource.com/c/1491597
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Tamer Tas <tmrts@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59931}
2019-02-28 08:13:38 +00:00
Sven Sauleau
a427f31332 [testrunner] handle timeout param in file
WebAssembly's specification tests use a timeout annotation.
This change allows the shared testrunner to use it to calculate
the testcase timeout.

Currently, the allowed timeout values are: long. Other values will
emit a warning.

Change-Id: Id7f453f5fd49854c8f53ff86ef2ec58aa0ae8748
Reviewed-on: https://chromium-review.googlesource.com/c/1480376
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sven Sauleau <ssauleau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#59919}
2019-02-27 17:49:17 +00:00
Igor Sheludko
f70bb59b57 [ptr-compr] Prepare for changing kTaggedSize, pt.1
Includes various fixes and cleanups here and there.

Bug: v8:7703, v8:8852
Change-Id: I603eb0212cab3fecabfa15dceb70ee23b81cdb5a
Reviewed-on: https://chromium-review.googlesource.com/c/1491595
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59909}
2019-02-27 15:26:09 +00:00
Michael Achenbach
459125197f [test] Skip test with gcc build
Also enable test runner to differentiate between clang and gcc.

Bug: v8:8919
Change-Id: Icdcae0aba3644a1b1b9ddc6c037eabde27d717f7
Reviewed-on: https://chromium-review.googlesource.com/c/1491634
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59906}
2019-02-27 14:46:02 +00:00
Sergiy Belozorov
4422cc44d8 [tools] Whitespace CL
TBR=sergiyb@chromium.org

Bug: chromium:929126
Change-Id: I7f3bda2172ecf78db942b3de86920d8ddd69769b
Reviewed-on: https://chromium-review.googlesource.com/c/1491216
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59888}
2019-02-27 10:00:02 +00:00
Sergiy Belozorov
c89c54ef7a Update V8 DEPS.
Rolling v8/build: 9f11dc3..ebd384a

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

Change-Id: I1cb46f5fdd1604f0beb509e18a1bda31bbe8a2e1
Reviewed-on: https://chromium-review.googlesource.com/c/1485245
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59853}
2019-02-26 10:18:14 +00:00
Z Duong Nguyen-Huu
5c4dd9f05e gm .check should work in win
currently it cannot call run-tests.py since it use Linux path

Change-Id: I15af9c7e6503e6d473611a24f5f223ff68b1dbbd
Reviewed-on: https://chromium-review.googlesource.com/c/1484110
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#59846}
2019-02-25 20:14:29 +00:00