Commit Graph

2527 Commits

Author SHA1 Message Date
machenbach
04bda550c2 [test] Make test duplication more robust
This makes test outcomes immutable. This has two benefits:
1) It's more robust. Using the |= operator by mistake
wouldn't lead to unwanted mutation.
2) It's faster as now the set reference can be copied again
when copying test cases. Test case copying happens an order
of magnitude more often than rules do apply.

BUG=v8:5238

Review-Url: https://codereview.chromium.org/2212333002
Cr-Commit-Position: refs/heads/master@{#38373}
2016-08-05 11:51:33 +00:00
machenbach
11d0d16ea9 [test] Fix merging of test outcomes
BUG=v8:5238

Review-Url: https://codereview.chromium.org/2216293002
Cr-Commit-Position: refs/heads/master@{#38362}
2016-08-05 09:43:29 +00:00
machenbach
03f5124822 [test] Enable test status filtering by variant
This adds the possibility to address test cases in the
status file with the variant under which the test is running.
This is only allowed in top-level sections.

Example:
[{
  'test-case': [PASS, SLOW],
}]

['variant == foo', {
  'test-case': [FAIL],
}]

The test case "test-case" is marked as slow in all variants.
Additionally, in variant foo, it'll be expected to fail.

This CL also exemplifies the new feature with test cases
running under the ignition_turbofan variant. The
corresponding legacy flag is deprecated.

BUG=v8:5238

Review-Url: https://codereview.chromium.org/2203013002
Cr-Commit-Position: refs/heads/master@{#38342}
2016-08-04 14:42:16 +00:00
hablich
39a5998f04 [Infra] Whitespace change for switching Ignition benchmarks.
Ignition benchmarks will be switched to --ignition-staging.

TBR=machenbach@chromium.org
NOTRY=true
NOTREECHECKS=true
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/2210873002
Cr-Commit-Position: refs/heads/master@{#38322}
2016-08-04 07:18:03 +00:00
jochen
7036d96b57 Add a mode to completely deserialize scope chains
This will allow for the background parser to parse inner functions

BUG=v8:5215
R=marja@chromium.org,verwaest@chromium.org

Review-Url: https://codereview.chromium.org/2198043002
Cr-Commit-Position: refs/heads/master@{#38291}
2016-08-03 13:31:04 +00:00
machenbach
3eab4e87da [test] Update testing-variant stages
This prepares for adding the ignition_staging variant to the
default variant set.

BUG=v8:5238

Review-Url: https://codereview.chromium.org/2205883002
Cr-Commit-Position: refs/heads/master@{#38257}
2016-08-02 17:25:39 +00:00
machenbach
a63b3e51ab [test] Remove deprecated ignition-test-suite alias
This is not referenced anymore by the infrastructure after:
https://codereview.chromium.org/2202113003/

BUG=v8:5238

Review-Url: https://codereview.chromium.org/2203023003
Cr-Commit-Position: refs/heads/master@{#38254}
2016-08-02 16:45:34 +00:00
machenbach
0e988e4737 [test] Remove some deprecated test-runner variant shortcuts
It should be enough to specify --variants=... with the
desired set of variants. The stress/nostress shortcuts
might get confusing soon, as we intend to move the stress
option out of the developer default set.

BUG=v8:5238

Review-Url: https://codereview.chromium.org/2195373002
Cr-Commit-Position: refs/heads/master@{#38248}
2016-08-02 14:03:50 +00:00
machenbach
8552e68223 [test] Fix joining FAIL expectations in status files
Without this fix, two rules [PASS, MODIFIER] and [FAIL]
would be joined as [PASS, MODIFIER, FAIL], undermining the
intention of the second rule to mark a test as failing.

BUG=v8:4680,v8:4900

Review-Url: https://codereview.chromium.org/2201033002
Cr-Commit-Position: refs/heads/master@{#38238}
2016-08-02 11:52:03 +00:00
Michael Achenbach
a9d51f9e97 Whitespace change to test infra change.
Cr-Commit-Position: refs/heads/master@{#38225}
2016-08-02 06:46:24 +00:00
machenbach
6c1d6c9f81 [test] Add testing variant aliases.
This introduces aliases for testing variants that can be
combined with other variant names. E.g. --variants=dev,foo
would run the three developer default variants and variant
foo.

We'll have three stages: "dev" for variants to be run by
default on developer workstations, "more" for additional
variants, executed on all bots, "extra" for additional
variants executed on a subset of bots (e.g. not on very slow
or otherwise resource-limited bots).

BUG=v8:5238
NOTRY=true

Review-Url: https://codereview.chromium.org/2196223002
Cr-Commit-Position: refs/heads/master@{#38214}
2016-08-01 14:42:24 +00:00
machenbach
a23a74a7be [test] Remove deprecated --ignition test-runner flag
The flag was introduced for ignition development. It can only
be used when running ignition tests in isolation on the bots.

The bots only use ignition_turbo in isolation since a while
and don't pass the --ignition flag anymore.

BUG=v8:5238

Review-Url: https://codereview.chromium.org/2197123002
Cr-Commit-Position: refs/heads/master@{#38206}
2016-08-01 12:11:43 +00:00
machenbach
1acc2f536c [test] Use all test suites with the ignition alias
First step of deprecating the dedicated ignition alias.
Next it will be changed on the bots to use the bot_default
suite. Then we'll delete it.

BUG=v8:5238

Review-Url: https://codereview.chromium.org/2194153002
Cr-Commit-Position: refs/heads/master@{#38202}
2016-08-01 11:19:55 +00:00
yangguo
5d49286c69 [inspector] add test configuration for the parser test.
BUG=chromium:580337

R=machenbach@chromium.org

Review-Url: https://codereview.chromium.org/2189023002
Cr-Commit-Position: refs/heads/master@{#38198}
2016-08-01 09:50:14 +00:00
bgeron
f1c32c82c5 [test] Make the meaning of some options clearer in --help.
NOTRY=true

Review-Url: https://codereview.chromium.org/2197593002
Cr-Commit-Position: refs/heads/master@{#38178}
2016-07-29 12:00:59 +00:00
machenbach
dc78fefb15 [gn] Add missing dep and blacklist for msan
Required for https://codereview.chromium.org/2194823002/

BUG=chromium:631979
NOTRY=true

Review-Url: https://codereview.chromium.org/2189323002
Cr-Commit-Position: refs/heads/master@{#38161}
2016-07-29 09:01:24 +00:00
ishell
e063b7118c [gdb] Define print functions used by gdb macros in the top level namespace to make them always be available.
This should fix the following errors that sometimes appear when using V8 gdb macros:
  Cannot evaluate function -- may be inlined
or
  No symbol "xxx" in namespace "v8::internal".

Review-Url: https://codereview.chromium.org/2186293002
Cr-Commit-Position: refs/heads/master@{#38145}
2016-07-28 17:09:35 +00:00
Alexander.Gilday2
6e01fe20da [turbolizer] Fixed naming of turbolizer perf script.
Change was meant to be in previous patch but was accidentally reverted.
README.md updated with new filename, also.

BUG=

Review-Url: https://codereview.chromium.org/2184223005
Cr-Commit-Position: refs/heads/master@{#38134}
2016-07-28 12:38:00 +00:00
machenbach
0f62a0e7aa [gn] Add required sanitizer blacklist files.
Splitt of CL:
https://codereview.chromium.org/2188693002/#ps100001

Switching to GN is blocked on test errors. These files are
required for compilation and allow looking into the test
errors locally.

BUG=chromium:474921
NOTRY=true

Review-Url: https://codereview.chromium.org/2190863003
Cr-Commit-Position: refs/heads/master@{#38130}
2016-07-28 11:05:50 +00:00
Alexander.Gilday2
286e2b14a5 [turbolizer] Add support for showing perf profiling information.
perf-turbo.py merges a perf data file and a turbofan trace file into a
single json object which can then be piped to a file and uploaded to
turbolizer to display the profiling data in the disassembly. With the
changes, turbolizer now shows the event counts for instruction in
percentage form and with heatmap-stype colouring. Multiple different
events can be recorded at once with a new drop-down menu to select which
event to view the counts of. The documentation has been updated with
instructions. Using the script is optional and turbolizer retains
previous functionality if a trace without profiling data is uploaded.

BUG=None

Review-Url: https://codereview.chromium.org/2174803002
Cr-Commit-Position: refs/heads/master@{#38124}
2016-07-28 09:42:38 +00:00
jochen
a811808432 Add a jss gdb macro that skips over the jitted stack in gdb
Use it like this:

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x7f50d02c4700 (LWP 8152)]
base::debug::(anonymous namespace)::DebugBreak ()
    at ../../base/debug/debugger_posix.cc:230
230     }
(gdb) bt
    at ../../base/debug/debugger_posix.cc:230
...
    args_object=0x7f50d02bfe00, isolate=0x2f001c9e2020)
    at ../../v8/src/builtins/builtins-api.cc:123
...
(gdb) jss
(gdb) bt
    isolate=0x2f001c9e2020, is_construct=false, target=..., receiver=...,
    argc=1, args=0x7f50d02c0518, new_target=...)
    at ../../v8/src/execution.cc:111
    isolate=0x2f001c9e2020, callable=..., receiver=..., argc=1,
    argv=0x7f50d02c0518) at ../../v8/src/execution.cc:168
...

R=yangguo@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2186013002
Cr-Commit-Position: refs/heads/master@{#38121}
2016-07-28 09:06:39 +00:00
qyearsley
7a3d6c082f Update blink try bot names in v8 repo.
This is intended to be submitted just after http://crrev.com/2174553002, which renames these builders.

BUG=590036
NOTRY=true

Review-Url: https://codereview.chromium.org/2181133002
Cr-Commit-Position: refs/heads/master@{#38105}
2016-07-27 16:39:09 +00:00
yangguo
43ab247f56 Remove NaCl support.
Review-Url: https://codereview.chromium.org/2175193003
Cr-Commit-Position: refs/heads/master@{#38081}
2016-07-27 07:50:31 +00:00
tandrii
7588e80314 Revert of [release] Change blink trybot name on v8 roll CLs (patchset #1 id:1 of https://codereview.chromium.org/2185513002/ )
Reason for revert:
Revert,  because blink tryserver bot rename is reverted.

BUG=chromium:631448

Original issue's description:
> [release] Change blink trybot name on v8 roll CLs
>
> BUG=chromium:590036
> NOTRY=true
>
> Committed: https://crrev.com/a5fae1039409864295b42a6f33cef85ca9396bda
> Cr-Commit-Position: refs/heads/master@{#38041}

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

Review-Url: https://codereview.chromium.org/2186593003
Cr-Commit-Position: refs/heads/master@{#38062}
2016-07-26 15:34:13 +00:00
bgeron
fbccad5c66 [turbolizer] Remember the last phase, search query, and pane expansions.
BUG=
R=danno

Review-Url: https://codereview.chromium.org/2171543004
Cr-Commit-Position: refs/heads/master@{#38045}
2016-07-26 11:47:24 +00:00
machenbach
a5fae10394 [release] Change blink trybot name on v8 roll CLs
BUG=chromium:590036
NOTRY=true

Review-Url: https://codereview.chromium.org/2185513002
Cr-Commit-Position: refs/heads/master@{#38041}
2016-07-26 09:56:59 +00:00
mstarzinger
ae21d665fa [interpreter] Introduce --ignition-staging flag.
This flag is aiming at shipping the ability to generate optimized code
directly from bytecode (without re-parsing source code). All features
needed to ship such a configuration will be staged behind this flag.

R=hablich@chromium.org,rmcilroy@chromium.org

Review-Url: https://codereview.chromium.org/2174333002
Cr-Commit-Position: refs/heads/master@{#38040}
2016-07-26 09:53:10 +00:00
bgeron
54d483d9f9 [turbolizer] Add two keyboard shortcuts: R for relayout, / for search.
/ also selects the search box.

BUG=

Review-Url: https://codereview.chromium.org/2169053002
Cr-Commit-Position: refs/heads/master@{#38027}
2016-07-25 15:26:17 +00:00
bgeron
69c291dc47 [turbolizer] Factor out some user actions into methods of GraphView.
BUG=
R=danno

Review-Url: https://codereview.chromium.org/2169043002
Cr-Commit-Position: refs/heads/master@{#38025}
2016-07-25 14:25:46 +00:00
bgeron
cc51cfcac3 [turbolizer] Redetermine graph bounding box after dragging a node.
If you dragged the node out of the bounding box, this commit allows you to see
it again after you zoom. The zoom looks jittery, but I think it's better than
not being able to see it at all.

BUG=
R=danno

Review-Url: https://codereview.chromium.org/2168713005
Cr-Commit-Position: refs/heads/master@{#38024}
2016-07-25 14:22:23 +00:00
bgeron
fe728e52b4 [turbolizer] Fix a latent bug when dragging a node under another node.
BUG=
R=danno

Review-Url: https://codereview.chromium.org/2169023002
Cr-Commit-Position: refs/heads/master@{#38004}
2016-07-25 09:50:42 +00:00
bgeron
7ef24ad99c [turbolizer] Style improvements.
- Remove duplicated CSS.
- Expand landing area of upload button.
- Give the toolbox a transparent white background.
- Make the phase-select box look nicer before file load.
- Remove the margin at the top of the screen.

The height of the margin was exactly the height of span#graph-toolbox,
and due to the semantics of position:relative, space was reserved for it
at the top of div#middle.

BUG=
R=danno

Review-Url: https://codereview.chromium.org/2164373002
Cr-Commit-Position: refs/heads/master@{#38003}
2016-07-25 09:50:41 +00:00
jochen
f4e142d1df Update heap constants from ToT
BUG=
R=hpayer@chromium.org

Review-Url: https://codereview.chromium.org/2171313002
Cr-Commit-Position: refs/heads/master@{#37979}
2016-07-22 11:49:17 +00:00
hablich
06bfc8421b [Release] Update merge script to leverage auto-tag bot
The auto-tag bot removes the need to handle version changes
in each merge individually. As a result this 'feature' is
removed.

BUG=v8:4408
R=machenbach@chromium.org
LOG=N
NOTRY=true

Review-Url: https://codereview.chromium.org/1398033003
Cr-Commit-Position: refs/heads/master@{#37972}
2016-07-22 09:29:05 +00:00
mattloring
fb2feee616 Fix objdump assembly truncations, d8 support
Update the custom objdump script to handle inline comments starting
with '--' or ';;'.

Load d8 code.asm file if present.

BUG=

Review-Url: https://codereview.chromium.org/2159103007
Cr-Commit-Position: refs/heads/master@{#37953}
2016-07-21 18:16:31 +00:00
machenbach
7f07809c2c [tools] Build generator script
Helper script to generate gn arguments based on common
developer defaults or builder configurations.

BUG=chromium:625791
NOTRY=true

Review-Url: https://codereview.chromium.org/2138693002
Cr-Commit-Position: refs/heads/master@{#37947}
2016-07-21 13:23:44 +00:00
mattloring
dbba4b40be Custom objdump to enable perf annotation
Allows jitted code to be annotated in perf. To use:

1) Report generated code in code-(pid)-1.asm.

  perf record -- d8 --print-code --redirect-code-traces script.js

2) Run perf report from the directory containing the above code file.

  perf report --objdump=v8/tools/objdump-v8

This script supports generated code from both crankshaft or turbofan.

BUG=

Review-Url: https://codereview.chromium.org/2167553002
Cr-Commit-Position: refs/heads/master@{#37913}
2016-07-20 16:59:24 +00:00
klaasb
a3f598fc85 [interpreter] Add relative numbers to dispatch report
This adds an additional column with percentages to the output of
bytecode_dispatch_report.py --top-dispatches-for-bytecode.
The percentages always represent the relative number of dispatches to
the target bytecode to all dispatches from the source bytecode.
The additional flag --sort-sources-relative/-r allows sorting the
"Top sources of dispatches to" the given bytecode by this column to more
easily find bytecodes that significantly often dispatch to the target.

BUG=v8:4899
LOG=N

Review-Url: https://codereview.chromium.org/2159683003
Cr-Commit-Position: refs/heads/master@{#37873}
2016-07-19 14:17:29 +00:00
bangfu.tao
b8227914bc Bug fix: android-run.py
BUG=
A bug in android-run.py, which caused the android_arm.release.check throws error:

data/local/tmp/v8/test/mjsunit/wasm/function-prototype.js:7: Error loading file

load("test/mjsunit/wasm/wasm-constants.js");

Review-Url: https://codereview.chromium.org/2070323002
Cr-Commit-Position: refs/heads/master@{#37825}
2016-07-18 09:45:23 +00:00
bgeron
feb93dd60b [turbolizer] Show a label with a shorter parameter for some opcodes.
With this patch, every node in turbo-*.json has an opcode, a title, and
a label. The label field is new; the opcode and title were already
there. The title is for the mouseover text. The label is what will be
displayed in the graph view, unless it's too long, in which case only
the opcode will be displayed. (This is similar to the preexisting
behaviour of putting titles in labels, except that the titles were
rarely short enough to fit in a label.)

With this patch, the labels generated are in practice the same as the
titles we had before, except for LoadField and StoreField, which will be
rendered as LoadField[[+432]] and StoreField[[+432]] (if 432 was the
offset).

This diff adds an overloadable method

    virtual void Operator1<T>::PrintParameter(ostream&, PrintVerbosity)

for each type T to Operator1. Its default implementation just uses
operator<<(ostream&, T const&) and adds square brackets around it, but
it is overridden for FieldAccess to print "[+432]" in the example case.

BUG=
R=jarin,danno

Review-Url: https://codereview.chromium.org/2093013002
Cr-Commit-Position: refs/heads/master@{#37795}
2016-07-15 12:07:43 +00:00
mstarzinger
6e38f4270a [test] Remove NaCl support from test runner harness.
R=machenbach@chromium.org

Review-Url: https://codereview.chromium.org/2141013002
Cr-Commit-Position: refs/heads/master@{#37678}
2016-07-12 13:18:49 +00:00
machenbach
1e978ec00a [gn] Let gyp/gn comparison be more verbose on error
The step fails on windows. This'll help investigating why.

BUG=chromium:474921
TBR=tandrii@chromium.org, vogelheim@chromium.org, jochen@chromium.org
NOTRY=true

Review-Url: https://codereview.chromium.org/2141903002
Cr-Commit-Position: refs/heads/master@{#37675}
2016-07-12 11:18:40 +00:00
Alexander.Gilday2
7f162dbcb6 [turbolizer] Improve code comments in disassembly
This change analyzes and links the output of --code-comments in the disassembly view within turbolizer with the other views, such that selecting these comments will also select the respective blocks/lines/nodes within the other views. The block start comments (e.g. -- B4 start --) are linked with the blocks in the schedule phase view and vice versa. The source position comments (e.g. -- primes.js:3:10 --) select the respective spans, lines, and nodes in the JavaScript code view, the schedule phase view, and the other compilation phase views respectively, and vice versa. It also modifies the display of the line and column numbers in the source position comments to be offset from 1 instead of 0 and ignore the initial source position of the first line of code (from removal of the function name in the compiler).

Also fixed the bug where previous selections weren't being cleared properly across multiple views, adding appropriate clear calls when using the selection broker.

Review-Url: https://codereview.chromium.org/2133663002
Cr-Commit-Position: refs/heads/master@{#37627}
2016-07-11 08:28:22 +00:00
jbudorick
f2ce4fe63b [Android] Switch outdated pylib.* references to equivalent devil.android.* ones.
BUG=chromium:617761
NOTRY=true

Review-Url: https://codereview.chromium.org/2113453007
Cr-Commit-Position: refs/heads/master@{#37616}
2016-07-08 17:30:27 +00:00
ssanfilippo
c9fedd252c [Interpreter] Support Linux perf >= 4.1 in linux_perf_report.py.
Since Linux 4.1, flag -f became -F, but the long option --flags stayed
the same. Using --flags assures compatibility with new and old versions.

Also, symbols appear to be reported as name+offset in newer versions
even when not requested, so we trim the latter part if present.

BUG=v8:4899
LOG=N

Review-Url: https://codereview.chromium.org/2134703002
Cr-Commit-Position: refs/heads/master@{#37614}
2016-07-08 16:24:45 +00:00
machenbach
77fbb1c351 [swarming] Port updated version of isolate_driver.py
This version of the isolate_driver includes a feature
that automatically derives shared libraries for inclusion.

This is needed for GN as the shared library location is
different compared to gyp and having different configs
would be tedious.

This also removes the shared-library-specific configs as
they are no longer needed with the new driver.

BUG=chromium:474921

Review-Url: https://codereview.chromium.org/2123223002
Cr-Commit-Position: refs/heads/master@{#37555}
2016-07-06 14:21:12 +00:00
jochen
9d66b3f3d3 Remove obsolete patching step from runtime callstats.html
BUG=
R=cbruni@chromium.org

Review-Url: https://codereview.chromium.org/2119823002
Cr-Commit-Position: refs/heads/master@{#37534}
2016-07-05 14:59:03 +00:00
honggyu.kp
c52685a516 gdb-v8-support.py: Fix old style print statement
Since python3 does not use the old print statement, it may not be able
to load gdb-v8-support.py script in gdb as below:

  (gdb) source tools/gdb-v8-support.py
    File "tools/gdb-v8-support.py", line 170
      print result
                 ^
  SyntaxError: Missing parentheses in call to 'print'

This fixes print statement for both python2 and python3.

R=jochen@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2084163004
Cr-Commit-Position: refs/heads/master@{#37488}
2016-07-03 07:11:47 +00:00
machenbach
9b4f098943 [test] Remove presubmit logic from test runner.
Having presubmit called from within the test runner often
requires logic to remove the call again.

After the GN transition it would be better if presubmit is
called by a wrapper script if needed at all. It is run
on upload and on the tryservers anyways.

BUG=chromium:474921

Review-Url: https://codereview.chromium.org/2114653002
Cr-Commit-Position: refs/heads/master@{#37447}
2016-06-30 14:30:43 +00:00
machenbach
f4dd32319d [gn] Automatically derive build configs in test runner.
This executes an action as part of the build, writing a json
configuration that includes all build flags relevant to v8
testing.

The test runner will derive all build-dependent flags from
the file if it detects it.

BUG=chromium:474921

Review-Url: https://codereview.chromium.org/2106423002
Cr-Commit-Position: refs/heads/master@{#37446}
2016-06-30 14:24:34 +00:00