Commit Graph

2491 Commits

Author SHA1 Message Date
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
machenbach
eb2a84d26f [release] Include more gpu trybots on v8 rolls
BUG=v8:5159
NOTRY=true

Review-Url: https://codereview.chromium.org/2111673003
Cr-Commit-Position: refs/heads/master@{#37444}
2016-06-30 14:18:34 +00:00
brendan.kirby
0f75d7d3e3 Remove invalid UTF-8 characters from test output
Occasionally tests output characters that aren't valid unicode UTF-8
characters.  This causes the --json-test-results file not to be written.
Replace these characters with the UTF-8 invalid character.

BUG=

Review-Url: https://codereview.chromium.org/2086143003
Cr-Commit-Position: refs/heads/master@{#37404}
2016-06-29 20:34:49 +00:00
ishell
c9b6e81697 Update tools/gen-postmortem-metadata.py after recent modifications.
This CL changed layout of UnseededNumberDictionary: https://codereview.chromium.org/2102073002.

Review-Url: https://codereview.chromium.org/2105553006
Cr-Commit-Position: refs/heads/master@{#37398}
2016-06-29 14:28:19 +00:00
jochen
356a85be5d Provide a convenience array buffer allocator
BUG=none
R=ulan@chromium.org

Review-Url: https://codereview.chromium.org/2101413002
Cr-Commit-Position: refs/heads/master@{#37365}
2016-06-29 07:42:40 +00:00
machenbach
61eb77643e [release] Include extra GPU trybots in v8 rolls
TBR=hablich@chromium.org, kbr@chromium.org
NOTRY=true

Review-Url: https://codereview.chromium.org/2106053002
Cr-Commit-Position: refs/heads/master@{#37360}
2016-06-29 06:24:19 +00:00
machenbach
994dc21148 [gn] Use one source of truth for test source files.
This avoids forgetting to add files for either gyp or gn.

While for most executables, this is detected by compilation
errors, for test executables, it can lead to tests silently
not running.

BUG=chromium:474921

Review-Url: https://codereview.chromium.org/2098313002
Cr-Commit-Position: refs/heads/master@{#37331}
2016-06-28 13:24:08 +00:00
mythria
08cc2d4fd9 [Interpreter] Remove failure expectation for observer-expectations blink test.
Removes failure expectation for observer-expectations layout test.

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

Review-Url: https://codereview.chromium.org/2094353002
Cr-Commit-Position: refs/heads/master@{#37298}
2016-06-27 16:10:20 +00:00
hlopko
815da79694 Use gender neutral terms
BUG=
LOG=no

Review-Url: https://codereview.chromium.org/2085043005
Cr-Commit-Position: refs/heads/master@{#37192}
2016-06-22 15:05:18 +00:00
danno
9dc2c31d64 [turbolizer] Performance improvements for selection in graph & schedule
Review-Url: https://codereview.chromium.org/2066313002
Cr-Commit-Position: refs/heads/master@{#37177}
2016-06-22 10:11:39 +00:00
bgeron
f567930712 [turbolizer] Fully parse schedule data.
Fixes bug 5128 in product V8.

R=danno@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2087813002
Cr-Commit-Position: refs/heads/master@{#37146}
2016-06-21 15:18:40 +00:00
Michael Achenbach
f0dc0dbf21 Whitespace CL to test bots.
Cr-Commit-Position: refs/heads/master@{#37130}
2016-06-21 09:07:14 +00:00
cbruni
13d08bc338 [tools] make ic-explorer deal with empty map records from --trace-ic
BUG=

Review-Url: https://codereview.chromium.org/2062323003
Cr-Commit-Position: refs/heads/master@{#37025}
2016-06-16 07:08:19 +00:00
Michael Achenbach
6368b0d90b [mb] Whitespace change to test mb switch
Cr-Commit-Position: refs/heads/master@{#37009}
2016-06-15 16:06:59 +00:00
mstarzinger
fd20e49f4c [gcmole] Fix source files pattern in GYP parsing.
The pattern of how our source files are listed in GYP files changed,
which in turn broke the parsing pattern that GCMole uses to gather a
list of files to check. Only 'cctest' file were checked, 'src' files
were being ignored.

R=cbruni@chromium.org

Review-Url: https://codereview.chromium.org/2065933002
Cr-Commit-Position: refs/heads/master@{#36962}
2016-06-14 12:08:04 +00:00
danno
deb67d7d05 [turbolizer]: Fix bugs
* The default text (placeholder) in the search box is now present.
* All key events handled by turbolizer are not passed through to Chrome.

Review-Url: https://codereview.chromium.org/2061713002
Cr-Commit-Position: refs/heads/master@{#36936}
2016-06-13 16:36:09 +00:00
danno
e52907f807 [turbolizer] Features and bug-fixes
Fix bugs and add a few small useful features:

* Fix Schedule view to properly parse schedule output and respond to switching
  back to graph views.
* Add shorcuts for showing edges of selected nodes.
  - 'i' shows all inputs
  - 'o' shows all outputs
  - '1'-'9' shows all nodes nth input where 1 <= n <= 9
  - 'c' shows all control inputs
  - 'e' shows all effect inputs
* Holding the control key down when using a edge-showing shortcut toggles edge
  state rather the just showing.
* 'a' selects all nodes in graph view.
* Node selection is preserved between graph views and Schedule views.
* Holding control key down when using regular expression search shows currently
  hidden nodes that match the regex search.
* Pane expansion buttons now respond to clicks in entire button area.
* Default text in regex search box makes searching more discoverable.

Review-Url: https://codereview.chromium.org/2059193002
Cr-Commit-Position: refs/heads/master@{#36932}
2016-06-13 13:21:54 +00:00
cbruni
102cb061e1 [tools] Fix Callstats-Group classifier regexp in callstats.py
BUG=

Review-Url: https://codereview.chromium.org/2058003002
Cr-Commit-Position: refs/heads/master@{#36893}
2016-06-10 13:18:46 +00:00
rmcilroy
4ff921bc27 [Interpreter] Update Blink TestExpectationsIgnition.
Remove expectations which were failing due to eager compilation now that we compile lazily in Ignition, and add intersection-observer/observer-exceptions.html which has recently started failing.

BUG=v8:5096
TBR=machenbach@chromium.org
NOTRY=true

Review-Url: https://codereview.chromium.org/2053323002
Cr-Commit-Position: refs/heads/master@{#36884}
2016-06-10 10:33:29 +00:00
cbruni
01a423e00f [--prof] Adding support for RuntimeCallTimerScope based tick separation
BUG=

Review-Url: https://codereview.chromium.org/2050713002
Cr-Commit-Position: refs/heads/master@{#36883}
2016-06-10 09:16:42 +00:00
julien.gilli
2619ccd1a0 Move post-mortem constants from accessors table to constants table
Some post-mortem metadata constants that are not offsets to objects'
properties were incorrectly defined in the accessors table. This change
fixes it by moving them from the accessors table to the constants table.

More background is available at
https://github.com/nodejs/post-mortem/issues/27.

R=danno@chromium.org,bmeurer@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2051563003
Cr-Commit-Position: refs/heads/master@{#36878}
2016-06-10 04:09:09 +00:00
jkummerow
bf5f2b5998 [tools] Fix detect-builtins.js
- include non-default prototypes (useful for TypedArrays)
- print value of string/number properties (avoids endless recursion)

Review-Url: https://codereview.chromium.org/2048593004
Cr-Commit-Position: refs/heads/master@{#36849}
2016-06-09 10:17:32 +00:00
machenbach
cec0ed0f77 [icu] Support loading data file from default location
This allows using icu data, bundled in the icudtl.dat file,
to be loaded automatically from a default location
side-by-side with the executable.

The v8 stand-alone default is still to use statically
linked ICU data, but this will be switched in a separate
follow-up CL.

BUG=chromium:616033
LOG=y

Review-Url: https://codereview.chromium.org/2042253002
Cr-Commit-Position: refs/heads/master@{#36823}
2016-06-08 12:11:34 +00:00
cbruni
c8e286c918 [--trace-ic] Print map pointer value too
This might help with some further investigations when using the IC-Explorer.

BUG=

Review-Url: https://codereview.chromium.org/2046943003
Cr-Commit-Position: refs/heads/master@{#36821}
2016-06-08 11:47:22 +00:00
machenbach
2ecd866d9b [gn] Fix gn targets for tools
This switches a few underscores to dashes to match the infra-
side definitions.

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

Review-Url: https://codereview.chromium.org/2045543002
Cr-Commit-Position: refs/heads/master@{#36753}
2016-06-06 14:25:30 +00:00
machenbach
87affbc531 [gn] Fix isolate_driver for gn
This makes the isolate-driver script rebase all paths to be
relative to the isolate-file location. This is an assumption
of the go binaries and is needed for batcharchive to work.

In gyp, actions were executed relative to the gyp file that
specified them, while in gn it's relative to the product dir.

BUG=chromium:474921

Review-Url: https://codereview.chromium.org/2039873002
Cr-Commit-Position: refs/heads/master@{#36746}
2016-06-06 13:25:04 +00:00
cbruni
fb9ce9373b [tools] Update callstats.[py|html]
BUG=

Review-Url: https://codereview.chromium.org/2040823003
Cr-Commit-Position: refs/heads/master@{#36745}
2016-06-06 13:08:47 +00:00
machenbach
976a62acd1 [gn] Add swarming support for all test targets
This adds corresponding *_run targets for all swarming
isolate actions existing in gyp. This also wires all
targets together under gn_all.

BUG=chromium:474921
NOTRY=true

Review-Url: https://codereview.chromium.org/2033813004
Cr-Commit-Position: refs/heads/master@{#36714}
2016-06-03 13:48:44 +00:00
rmcilroy
23ca1e8270 Add Ignition perf benchmarks to try_perf.py
BUG=v8:4280
NOTRY=true

Review-Url: https://codereview.chromium.org/2033393002
Cr-Commit-Position: refs/heads/master@{#36708}
2016-06-03 11:06:22 +00:00
machenbach
2242cb0361 [release] Auto-detect clusterfuzz issues for ignition with arm
NOTRY=true
TBR=hablich@chromium.org, rmcilroy@chromium.org

Review-Url: https://codereview.chromium.org/2027183002
Cr-Commit-Position: refs/heads/master@{#36647}
2016-06-01 13:31:30 +00:00
Michael Achenbach
144609dae6 Whitespace change to test goma switch
BUG=

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

Cr-Commit-Position: refs/heads/master@{#36575}
2016-05-30 09:42:26 +00:00
lpy
ac3edd40af [prof] Add slide offset in dumpcpp script
An additional slide offset is exported into `shared-library`, which is used to
symbolize C++ stack on systems with ASLR (OS X).

This patch adds slide offset support in dumpcpp script.

BUG=v8:5048

Review-Url: https://codereview.chromium.org/2006813002
Cr-Commit-Position: refs/heads/master@{#36574}
2016-05-30 08:56:59 +00:00
nexus226
726d3be8ae tools: Fix a syntax error in plot-timer-events
This fixes a syntax error in plot-timer-events script.

Before:
  $ out/x64.release/d8 --prof --log-timer-events script.js
  $ tools/plot-timer-events v8.log
  tools/plot-timer-events: 75: tools/plot-timer-events: options+=1343: not found
  --distortion=
  Cmdline args: [options] [log-file-name]
  Default log file name is "v8.log".
    ...

After:
  $ out/x64.release/d8 --prof --log-timer-events script.js
  $ tools/plot-timer-events v8.log
  $ ls timer-events.png
  timer-events.png

BUG=

Review-Url: https://codereview.chromium.org/1961873002
Cr-Commit-Position: refs/heads/master@{#36434}
2016-05-23 10:19:47 +00:00
machenbach
d77b332e1c [tools] Make cpu-governor flip more robust in perf runner
NOTRY=true
TBR=mtrofin@chromium.org

Review-Url: https://codereview.chromium.org/1996923002
Cr-Commit-Position: refs/heads/master@{#36399}
2016-05-20 09:07:40 +00:00
machenbach
5e1c87dd95 [gn] Port gyp/gn comparison script
BUG=chromium:474921
LOG=n
NOTRY=true

Review-Url: https://codereview.chromium.org/1988163002
Cr-Commit-Position: refs/heads/master@{#36356}
2016-05-19 10:44:53 +00:00
danno
9c15c05596 Add a html-based visualizer for TurboFan graphs
Review-Url: https://codereview.chromium.org/729913004
Cr-Commit-Position: refs/heads/master@{#36351}
2016-05-19 08:18:01 +00:00
mythria
b498f0c93b [Interpreter] Removes failure expectation for gc related blink_tests.
Updates blink_tests/TestExpecations by removing failure expectation for
gc related tests. These tests are modified to work with ignition by
the following cls:
https://codereview.chromium.org/1972943002/
https://codereview.chromium.org/1950613005/

BUG=v8:4280,chromium:595672
LOG=N

Review-Url: https://codereview.chromium.org/1985673002
Cr-Commit-Position: refs/heads/master@{#36326}
2016-05-18 14:15:39 +00:00