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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
- 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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
* 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}
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}
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}
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}
- 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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}