Commit Graph

2462 Commits

Author SHA1 Message Date
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
ssanfilippo
101e076b34 [Interpreter] List top dispatch sources and destinations for a given Ignition bytecode.
This commit introduces a new mode for bytecode_dispatches_report.py
which reports the top sources of dispatches to a given bytecode and
the top destinations of dispatches from the same bytecode.

The bytecode name is passed with --top-dispatches-for-bytecode
(short form: -f), while the number of sources and destinations to
show is controlled with -n.

BUG=v8:4899
LOG=N

Review-Url: https://codereview.chromium.org/1979233002
Cr-Commit-Position: refs/heads/master@{#36284}
2016-05-17 14:44:04 +00:00
yangguo
aef828dc74 [ignition] update layout test expectations.
Remove live-edit entries. They have been fixed.
Alphasort.
Group known failures.

TBR=machenbach@chromium.org
NOTRY=true

Review-Url: https://codereview.chromium.org/1985043002
Cr-Commit-Position: refs/heads/master@{#36278}
2016-05-17 12:02:18 +00:00
yangguo
4306fc4e30 [liveedit] skip crashing Layout test.
TBR=machenbach@chromium.org
BUG=v8:4765
LOG=N
NOTRY=true

Review-Url: https://codereview.chromium.org/1986703002
Cr-Commit-Position: refs/heads/master@{#36269}
2016-05-17 06:40:45 +00:00
nikolaos
8f6556bd19 Add callstats.py run --refresh flag
This flag forces the page to (soft) refresh a given number of times for
each iteration.  The statistics of all refreshes are collected in the
same file.

R=cbruni@chromium.org, mvstanton@chromium.org
BUG=
LOG=N

Review-Url: https://codereview.chromium.org/1967123002
Cr-Commit-Position: refs/heads/master@{#36214}
2016-05-12 15:55:53 +00:00
machenbach
51169f0c5d [tools] Use sandbox in callstats script
BUG=chromium:611010
NOTRY=true

Review-Url: https://codereview.chromium.org/1976593002
Cr-Commit-Position: refs/heads/master@{#36211}
2016-05-12 14:12:13 +00:00
cbruni
c4af1ba7e4 [tools] improving callstats.html istructions and making callstats.py executable
BUG=

Review-Url: https://codereview.chromium.org/1964453002
Cr-Commit-Position: refs/heads/master@{#36173}
2016-05-11 12:33:40 +00:00
nikolaos
5fa1c61ee0 Add script injection when replaying with callstats.py
This allows benchmarking without --single-process and correctly
gathering --runtime-call-stats numbers.

Add optional parameter to %GetAndResetRuntimeCallStats

-  Without any parameter, it returns a string with the runtime call
   statistics (as before).
-  With one string parameter, it appends the statistics to the file with
   that file name.
-  With one integer parameter (which must be 1=stdout or 2=stderr), it
   prints the statistics to the output with of that file descriptor.

The injected script is automatically generated.
Also, callstats.py does not have a hardwired DEFAULT_SITES anymore.

R=cbruni@chromium.org
BUG=
LOG=N

Review-Url: https://codereview.chromium.org/1966193002
Cr-Commit-Position: refs/heads/master@{#36172}
2016-05-11 12:24:37 +00:00
rmcilroy
24709a62ce [Interpreter] Add a bytecode annotate tool.
Adds a tool which enables annotation of the disassembly of bytecode handlers
based on perf output.

BUG=4899
LOG=N

Review-Url: https://codereview.chromium.org/1945673002
Cr-Commit-Position: refs/heads/master@{#36145}
2016-05-10 15:04:32 +00:00
rmcilroy
d9fd822aa2 [Interpreter] Fix bytecode offset for stack overflows.
Rather than pushing zero for the initial bytecode offset, we should push the
offset of the first bytecode handler, Smi tagged. This fixes the line number
for the top stack frame on overflow errors.

BUG=v8:4981
LOG=N

Review-Url: https://codereview.chromium.org/1950913004
Cr-Commit-Position: refs/heads/master@{#36137}
2016-05-10 12:30:08 +00:00
cbruni
aa1b7f6b81 [tools] Add callstats.html to analize --runtime-call-stats output
callstats.html in combination with callstats.py can be used to get an in-depth
view on where we spend time in v8. Furthermore, with callstats.html we can
compare different versions of v8/chrome and see where and how performnce
evolved.

Drive-by-fix: add missing copyrights header to ic-explorer.html and format
ic-explorer.html

BUG=

Review-Url: https://codereview.chromium.org/1947413004
Cr-Commit-Position: refs/heads/master@{#36080}
2016-05-06 13:24:39 +00:00
nikolaos
1d941a4466 Add script for benchmarking with --runtime-call-stats
R=cbruni@chromium.org
BUG=
LOG=N

Review-Url: https://codereview.chromium.org/1922873004
Cr-Commit-Position: refs/heads/master@{#36070}
2016-05-06 10:18:14 +00:00
mtrofin
c6405c4a60 [tools] added wasm to the list of benchmarks
BUG=

Review-Url: https://codereview.chromium.org/1931293005
Cr-Commit-Position: refs/heads/master@{#36055}
2016-05-05 19:12:31 +00:00
machenbach
37ca108f90 [Interpreter] Add test expectations for layout tests
BUG=v8:4866
LOG=n
NOTRY=true
TBR=yangguo@chromium.org

Review-Url: https://codereview.chromium.org/1939043002
Cr-Commit-Position: refs/heads/master@{#35937}
2016-05-02 14:51:32 +00:00
mtrofin
81db29dd10 [tools] Handle benchmark runs reporting more than one result.
The Wasm suite reports both compile time and code size, however,
perf-to-html.py elides one of the results (compile time, in this case).

This affects the effectiveness of results reported by perf try bot runs.

This CL addresses that.

BUG=

Review-Url: https://codereview.chromium.org/1941573002
Cr-Commit-Position: refs/heads/master@{#35935}
2016-05-02 14:25:00 +00:00
machenbach
8ba46715b0 [Ignition] Test ignition on all bots.
This adds ignition to the testing variants that are run on all
bots.

Failing tests can only be skipped with the NO_IGNITION
keyword in status files. Existing expectations for the
ignition_turbofan variant are all duplicated and use the
NO_IGNITION keyword as well now.

BUG=v8:4280
LOG=N

Committed: https://crrev.com/132c09ed619f23fb7c6d26a4e3552c703389eabd
Cr-Commit-Position: refs/heads/master@{#35865}

Review-Url: https://codereview.chromium.org/1804003002
Cr-Commit-Position: refs/heads/master@{#35926}
2016-05-02 09:25:00 +00:00
fedor
aee17a63b3 [prof] export slide offset in profile log
When exporting `shared-library` in profile log, additionally export a
slide offset. This is required to parse profile logs generated on
systems with ASLR (OS X), otherwise it is impossible to assign C++
symbol names to their addresses in the log.

See: https://github.com/nodejs/node/issues/6466

BUG=

Review-Url: https://codereview.chromium.org/1934453003
Cr-Commit-Position: refs/heads/master@{#35921}
2016-05-02 08:03:01 +00:00
mtrofin
5b519033f0 [tools] Specify affinity and raise priority when benchmarking
I plan to drive these options from the infra recipe.

Raising the priority of the benchmarked process, and fixing
its affinity to some other CPU than 0 improves stability of
measurements.

BUG=

Review-Url: https://codereview.chromium.org/1915303002
Cr-Commit-Position: refs/heads/master@{#35912}
2016-04-29 15:53:19 +00:00
machenbach
3bf44848c3 [gn] Move build to gypfiles
This prepares for pulling chromium's build as dependency for
gn. After this, the files in build and gypfiles need to stay
in sync until chromium is updated.

BUG=chromium:474921
LOG=n

Review-Url: https://codereview.chromium.org/1848553003
Cr-Commit-Position: refs/heads/master@{#35898}
2016-04-29 10:11:11 +00:00
machenbach
7595dfd949 [release] Run blink trybot on roll CLs
TBR=hablich@chromium.org
NOTRY=true

Review-Url: https://codereview.chromium.org/1929303002
Cr-Commit-Position: refs/heads/master@{#35895}
2016-04-29 09:12:01 +00:00
mstarzinger
b06fa13704 [interpreter] Be explicit when to test BytecodeGraphBuilder.
This adds a dedicated flag for enabling the BytecodeGraphBuilder. The
intention is to be explicit when this variant is being tested and to
avoid unnecessary overhead in production code for a configuration that
is not yet shipping.

R=rmcilroy@chromium.org

Review-Url: https://codereview.chromium.org/1925123002
Cr-Commit-Position: refs/heads/master@{#35892}
2016-04-29 08:41:11 +00:00
machenbach
af41997177 Revert of [Ignition] Test ignition on all bots. (patchset #4 id:60001 of https://codereview.chromium.org/1804003002/ )
Reason for revert:
Will resubmit with proper fix and more test skips.

Original issue's description:
> [Ignition] Test ignition on all bots.
>
> This adds ignition to the testing variants that are run on all
> bots.
>
> Failing tests can only be skipped with the NO_IGNITION
> keyword in status files. Existing expectations for the
> ignition_turbofan variant are all duplicated and use the
> NO_IGNITION keyword as well now.
>
> BUG=v8:4280
> LOG=N
> NOTRY=true

TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,yangguo@chromium.org,mythria@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4280

Review-Url: https://codereview.chromium.org/1930943002
Cr-Commit-Position: refs/heads/master@{#35871}
2016-04-28 14:53:57 +00:00
machenbach
132c09ed61 [Ignition] Test ignition on all bots.
This adds ignition to the testing variants that are run on all
bots.

Failing tests can only be skipped with the NO_IGNITION
keyword in status files. Existing expectations for the
ignition_turbofan variant are all duplicated and use the
NO_IGNITION keyword as well now.

BUG=v8:4280
LOG=N
NOTRY=true

Review-Url: https://codereview.chromium.org/1804003002
Cr-Commit-Position: refs/heads/master@{#35865}
2016-04-28 13:32:27 +00:00
jochen
9e16f72a63 Remove stale V8_IMMINENT_DEPRECATION_WARNINGS defines
R=machenbach@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/1927083002
Cr-Commit-Position: refs/heads/master@{#35858}
2016-04-28 11:43:22 +00:00
lpy
aff441937d Dump C++ symbols and merge into v8 log.
Currently we already have tools to extract C++ symbols of d8, and output the
statistics result. This patch creates two scripts, one is to use exsisting tools
to extract C++ symbols and dump to output, the other collects all symbols and
merges them into v8 log. The format of C++ symbols in v8 log is:

cpp,start_address,size,symbol_name

BUG=v8:4906
LOG=n

Review-Url: https://codereview.chromium.org/1884493003
Cr-Commit-Position: refs/heads/master@{#35841}
2016-04-28 06:57:33 +00:00
fedor
8eda85d54e Postmortem: export DATA_CONSTANT
Useful for inspecting constant fields in objects.

BUG=
R=machenbach

Review-Url: https://codereview.chromium.org/1922903003
Cr-Commit-Position: refs/heads/master@{#35826}
2016-04-27 15:51:11 +00:00
machenbach
7f3954c57b [build] Move gyp folder
Uses now the same location chromium uses and which some tools
expect.

BUG=chromium:474921
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#35817}
2016-04-27 12:37:35 +00:00
machenbach
7752614f35 [build] Remove deprecated gyp file.
This has moved to src/v8.gyp in:
https://codereview.chromium.org/1920793002/

BUG=chromium:474921
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#35812}
2016-04-27 09:25:33 +00:00
machenbach
4ffdce65dd [Interpreter] Prepare switching to new ignition testing variant.
This adds a new ignition_turbofan testing variant that'll
allow switching turbofan off in the other ignition variant.

The switch will happen in a follow up after reconfiguring
the bots.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#35790}
2016-04-26 11:24:34 +00:00
machenbach
cb855fe728 [build] Prepare moving v8.gyp to src/
This will allow to pull in gyp as a deps to the same location
as chromium (tools/gyp not build/gyp), needed for gn switch.

This is the first step of a 3-way move.
1) Copy v8.gyp in v8
2) Update references in embedders (follow up)
3) Remove old v8.gyp (follow up)

BUG=chromium:474921
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#35760}
2016-04-25 12:20:24 +00:00