Commit Graph

4238 Commits

Author SHA1 Message Date
Tamer Tas
101fd4ddb7 [testrunner] catch unforeseen exceptions
Testrunner doesn't catch exceptions except TestRunnererror, KeyboardInterrupt.

Unforeseen exceptions should fail the CI step.

This CL returns an error exit code for uncaught exceptions.

R=machenbach@chromium.org
CC=yangguo@chromium.org,sergiyb@chromium.org

Bug: v8:8731
Change-Id: I7fb20dad4a3eea29f1dfa87ef91d45381ee08692
Reviewed-on: https://chromium-review.googlesource.com/c/1434034
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59278}
2019-02-01 10:25:39 +00:00
Tamer Tas
0b23bb1e4b [fuzzer] fix names
R=machenbach@chromium.org

No-Try: true
Change-Id: I3ec0adc9be2ea09f63c12bf71803865f224fba09
Reviewed-on: https://chromium-review.googlesource.com/c/1449611
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59275}
2019-02-01 09:58:19 +00:00
Tamer Tas
9d41bbc7c6 [fuzzer] fix missing argument
R=machenbach@chromium.org

No-Try: true
Change-Id: Iadb464e55fd30cc01ad6f250efd01588610407d0
Reviewed-on: https://chromium-review.googlesource.com/c/1449534
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59274}
2019-02-01 09:44:58 +00:00
Frank Tang
930143666c [Intl] Implement intl-datetime-style
See https://github.com/tc39/proposal-intl-datetime-style
Design Doc: https://goo.gl/v7n7zV


Bug: v8:8702
Change-Id: If45a901e369003ded6c0c690a65f0429800d5ecc
Reviewed-on: https://chromium-review.googlesource.com/c/1417372
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59264}
2019-02-01 03:10:04 +00:00
Tamer Tas
cc70b55046 [fuzzer] fix the missing parenthesis
R=machenbach@chromium.org
CC=​yangguo@chromium.org,sergiyb@chromium.org

No-Try: True
Bug: v8:8174
Change-Id: Ia77a42f3dce741f661f3d7aee3af2237e53ae0f0
Reviewed-on: https://chromium-review.googlesource.com/c/1447713
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59233}
2019-01-31 10:20:01 +00:00
Tamer Tas
581eb3cbc7 [testrunner] prevent from presubmit masking testrunner end-to-end tests
R=machenbach@chromium.org
CC=​​yangguo@chromium.org,sergiyb@chromium.org

No-Try: true
Bug: v8:8174,v8:8728,v8:8763
Change-Id: I27faa43e775b4a834a7c2af3ec1407afb71bb06e
Reviewed-on: https://chromium-review.googlesource.com/c/1447714
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59231}
2019-01-31 10:02:03 +00:00
Tobias Tebbi
142225ac9e [torque] improve VSCode syntax highlighting
Change-Id: Iec5d7b2c73b45012d3bc457f0928c7f39afc8815
Reviewed-on: https://chromium-review.googlesource.com/c/1446454
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59227}
2019-01-31 09:20:45 +00:00
Tamer Tas
3f83accb09 [testrunner] load tests concurrently into test execution processor
loading every test up-front into the processing queue costs about 224MB for a
x64 testsuite run.

This CL eliminates that overhead by utilizing generators and threading.

LoadingProc now loads test after receiving the results of the loaded tests.

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

Bug: v8:8174,v8:8731
Change-Id: Ifee79c3e213da568f092de0f1623016174e9410c
Reviewed-on: https://chromium-review.googlesource.com/c/1439240
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59223}
2019-01-31 08:19:06 +00:00
Sergiy Belozorov
6e03d7ee42 Reland "[tools] Push files using high-level device.PushChangedFiles method"
This is a reland of d045f66682

Original change's description:
> [tools] Push files using high-level device.PushChangedFiles method
>
> R=machenbach@chromium.org
>
> No-Try: true
> Bug: chromium:893593
> Change-Id: I11cce7694eb7755ccee42c9a342fc1aa22663d85
> Reviewed-on: https://chromium-review.googlesource.com/c/1382468
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58407}

Bug: chromium:893593
Change-Id: I88a7143b3f31d87d266b89221f81efe831ea3823
Reviewed-on: https://chromium-review.googlesource.com/c/1443055
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59221}
2019-01-31 02:40:51 +00:00
Marja Hölttä
ea526196f4 [js weak refs] Update to new API
This replaces WeakFactory with FinalizationGroup.

New API is here: https://weakrefs.netlify.com/

BUG=v8:8179

Change-Id: I8c1c4a70deb42581d17117423dd29d93bdd35cb0
Reviewed-on: https://chromium-review.googlesource.com/c/1435938
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59204}
2019-01-30 13:47:18 +00:00
Tamer Tas
d852ae6f2b [testrunner] remove recursive result calls in chain processors
Procs return the result by increasing recursion through result_for.

This CL eliminates that mechanism from the Processor interface and uses boolen
return values for sending tests to signal success or the failure to load the
test into the execution queue.

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

Bug: v8:8174,v8:8731
Change-Id: I073a86ca84bcf88da11132b90013d4c8455bc61e
Reviewed-on: https://chromium-review.googlesource.com/c/1439239
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59201}
2019-01-30 13:04:07 +00:00
Sergiy Belozorov
47a7509e74 [tools] Whitespace CL
TBR=sergiyb@chromium.org

Bug: chromium:922125
Change-Id: Ieaaf3ec8870d74034a7cd7d1d939b3002f2a89c8
Reviewed-on: https://chromium-review.googlesource.com/c/1425202
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59188}
2019-01-30 00:53:57 +00:00
Michael Achenbach
d2e2b3e9a3 Revert "[release] Temporarily remove two gpu bots from V8 auto-roller"
This reverts commit 7e93c3bf87.

Reason for revert: Bug was fixed

Original change's description:
> [release] Temporarily remove two gpu bots from V8 auto-roller
> 
> TBR=mslekova@chromium.org
> NOTRY=true
> 
> Bug: chromium:925750
> Change-Id: I6700ce261e2e083867b71874dfe4c308ccc0d764
> Reviewed-on: https://chromium-review.googlesource.com/c/1437117
> Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59126}

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

Change-Id: If1373a5151386f5dcd7998f0ba97460d30aeb9e7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:925750
Reviewed-on: https://chromium-review.googlesource.com/c/1442631
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59158}
2019-01-29 09:54:48 +00:00
Michael Achenbach
7e93c3bf87 [release] Temporarily remove two gpu bots from V8 auto-roller
TBR=mslekova@chromium.org
NOTRY=true

Bug: chromium:925750
Change-Id: I6700ce261e2e083867b71874dfe4c308ccc0d764
Reviewed-on: https://chromium-review.googlesource.com/c/1437117
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59126}
2019-01-28 14:31:17 +00:00
Tobias Tebbi
76394d6b34 [torque] add general down-cast intrinsic
Bug: v8:7793
Change-Id: If79b3d760406e44530da5656459ece6db3eff7ab
Reviewed-on: https://chromium-review.googlesource.com/c/1435935
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Daniel Clifford <danno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59098}
2019-01-25 14:16:33 +00:00
Jakob Kummerow
373f9d3212 [ubsan] Blacklist reports for *CallbackInfo
Both PropertyCallbackInfo<T> and WeakCallbackInfo<T> callbacks are
using a design that relies on invalid reinterpret_casts and thereby
undefined behavior. Since they are exposed via the public API, fixing
this is going to be difficult.

Bug: v8:3770,v8:8735
Change-Id: I7171c5b38f070b4a43a0de1ebb7d1a1458c1d91f
Reviewed-on: https://chromium-review.googlesource.com/c/1436222
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59083}
2019-01-25 02:24:53 +00:00
Michael Achenbach
4d2a3cc9a5 [test] Add interpreted-regexp testing variant
This adds the new runtime flag as a variant and runs it on a subset of
builders corresponding to the "extra" testing set.

Currently failing tests are skipped in the new variant.

After https://crrev.com/c/1433777 this costs only little additional
resources.

Bug: v8:8678
Change-Id: Ibd0e38872814d11252e55a7c6a58d313aa84ebe3
Reviewed-on: https://chromium-review.googlesource.com/c/1433774
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59080}
2019-01-24 19:11:22 +00:00
Farazmand
ac1e76e96c dot progress indicator does not currently display failed results
Change-Id: Ib17dd4a258809bb9ca521f724ab95d7eade6d15c
Reviewed-on: https://chromium-review.googlesource.com/c/1427359
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#59066}
2019-01-24 14:30:27 +00:00
Michael Achenbach
1c0b17b03f Revert "[testrunner] load tests concurrently into test execution processor"
This reverts commit 25457c60a7.

Reason for revert: https://crbug.com/v8/8731

Original change's description:
> [testrunner] load tests concurrently into test execution processor
> 
> loading every test up-front into the processing queue costs about 224MB for a
> x64 testsuite run.
> 
> This CL eliminates that overhead by utilizing generators and threading.
> 
> LoadingProc now loads test after receiving the results of the loaded tests.
> 
> R=​machenbach@chromium.org
> CC=​​yangguo@chromium.org,sergiyb@chromium.org
> 
> Bug: v8:8174
> Change-Id: I8f4e6de38430c54fe126e4504b52851866769efb
> Reviewed-on: https://chromium-review.googlesource.com/c/1420678
> Commit-Queue: Tamer Tas <tmrts@chromium.org>
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59056}

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

Change-Id: I1e074a031dced367a32a93827b9e863b0331340f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8174
Reviewed-on: https://chromium-review.googlesource.com/c/1433792
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59065}
2019-01-24 13:56:04 +00:00
Michael Achenbach
588373412c [test] Reduce testing 'trusted' variant to arm builders
Previously, trusted (or no-mitigations) has been tested on a subset of builders
from all platforms. This reduces it to arm-sim and native Android devices.

Change-Id: I90066686e6a92db4a944025538e01a117f324421
Reviewed-on: https://chromium-review.googlesource.com/c/1433777
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59062}
2019-01-24 12:42:41 +00:00
Tamer Tas
25457c60a7 [testrunner] load tests concurrently into test execution processor
loading every test up-front into the processing queue costs about 224MB for a
x64 testsuite run.

This CL eliminates that overhead by utilizing generators and threading.

LoadingProc now loads test after receiving the results of the loaded tests.

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

Bug: v8:8174
Change-Id: I8f4e6de38430c54fe126e4504b52851866769efb
Reviewed-on: https://chromium-review.googlesource.com/c/1420678
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59056}
2019-01-24 11:19:12 +00:00
Yang Guo
91344c5f65 [node] accept multiple --extra-gn-args
R=machenbach@chromium.org
NOTRY=true

Change-Id: I8c861a051c8b75d3c631e7dedded5746ea9151d7
Reviewed-on: https://chromium-review.googlesource.com/c/1430066
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59054}
2019-01-24 09:57:06 +00:00
Daniel Clifford
32a92cf594 [torque] Correctly support JSObject allocation with 'new'
This requires honoring the instance size of the object stored in the
map for JSObject. To do this, allocation is now split into two
instrinsics, one that calculates the base size of the allocated object
(%GetAllocationBaseSize) and one that actually allocates (%Allocate).

In the process, remove objects.tq, which only existed to contain a
macro to fetch the default JSObject map, which is functionality that
is now in the JSObject class constructor.

Bug: v8:7793
Change-Id: I426a7943aac67eacad46d4ff39f5c821489a04bc
Reviewed-on: https://chromium-review.googlesource.com/c/1426959
Commit-Queue: Daniel Clifford <danno@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59052}
2019-01-24 06:27:56 +00:00
Tamer Tas
bd019bdb72 [testrunner] delete ancient junit compatible format support
Testrunner has ancient support for JUnit compatible XML output.

This CL removes this old feature.

R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
CC=​machenbach@chromium.org

Bug: v8:8728
Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
Reviewed-on: https://chromium-review.googlesource.com/c/1430065
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59045}
2019-01-23 16:30:55 +00:00
Sigurd Schneider
cba3a50a4b [tools] Improve avg.py script
- Output from console.timeEnd is now supported
- The final result is printed in table format with ; separator,
  making it easy to copy/paste into a spreadsheet.
- Various style improvements.

Change-Id: Iba00ee54720344765262b5cc44c1e939278b03a4
Notry: true
Reviewed-on: https://chromium-review.googlesource.com/c/1405030
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59030}
2019-01-23 13:47:27 +00:00
Frank Tang
45fe356e24 [Intl] Remove linebreak from Segmenter
Sync w/ https://github.com/tc39/proposal-intl-segmenter/pull/60

Bug: v8:8717
Change-Id: I98fe9e88367a611c14c82195222c8fe8a52e4bc8
Reviewed-on: https://chromium-review.googlesource.com/c/1422749
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59016}
2019-01-23 04:54:56 +00:00
Mike Stanton
df071e9497 [Builtins] Infrastructure for source positions in stubs/builtins
Now, the CodeAssembler can annotate Nodes with SourcePositions.
SourcePositions themselves get a new mode "external," in which
they get a file_id, line and column. The file_id is currently
maintained in the isolate, mapping to strings for filenames.

Additionally, inlining information is ignored at this point,
but in the long run I'd like to recognize calls to different
CSA functions as manual inlinings.

At this point, if you want to see the results in tools like GDB,
you'll need to build without clang, and use the GCC toolchain.
GN flag is_clang=false will do the trick.

Bug: v8:8418
Change-Id: I123cdc041612285fa7d0ba532a625bceeda5d338
Reviewed-on: https://chromium-review.googlesource.com/c/1322954
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59009}
2019-01-22 19:09:36 +00:00
Tobias Tebbi
752882fd3d [torque] add "struct" keyword to VS Code plugin
TBR: szuend@chromium.org

Change-Id: Ifef721eecab79dbcfb306dd241b3476fc1b6ec56
Reviewed-on: https://chromium-review.googlesource.com/c/1424952
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58971}
2019-01-21 16:42:33 +00:00
Clemens Hammacher
6962334df8 [platform] Allow to memory-map empty files
This current fails, since {mmap} fails with EINVAL for empty mappings.
The destructor already has special handling for a {nullptr} mapping, so
we can just use {nullptr} for empty files. We get a similar error on
windows, and can fix it the same way.

On order to make presubmit checks happy, we have to skip copyright
checking and checking for terminating newlines for empty files.

R=mlippautz@chromium.org

Change-Id: I2b73da7ff6df72d8bdd40df1fff6422e0a46881e
Reviewed-on: https://chromium-review.googlesource.com/c/1424861
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58970}
2019-01-21 16:02:47 +00:00
Tamer Tas
a8784a400b [testrunner] remove infra_staging tests for stable behavior
With and without infra_staging flag testrunner behaves the same for old
features. This CL removes duplicate tests testing the same behavior.

R=machenbach@chromium.org
CC=yangguo@chromium.org,sergiyb@chromium.org

No-Try: true
Bug: v8:8174
Change-Id: Icf7bea15b2343b90697016d050fa0d918a99997d
Reviewed-on: https://chromium-review.googlesource.com/c/1424859
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58951}
2019-01-21 10:38:40 +00:00
Tamer Tas
a8b8a4408b [testrunner] remove the up-front test counter
Moving to a lazy test loading approach makes counting the total number of tests
non-trivial.

For CI runs, we output the total number of tests after the run.
For users, progress indicator signals the status of the run.

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

Bug: v8:8174
Change-Id: I0731964515aac60a3629acee6c7243433a2b4e04
Reviewed-on: https://chromium-review.googlesource.com/c/1420677
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58944}
2019-01-21 07:34:53 +00:00
Sergiy Belozorov
b5cc9c0ee2 [tools] Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:922125
Change-Id: I58e6e2f3525293df0a6513611e16cd21b65e3985
Reviewed-on: https://chromium-review.googlesource.com/c/1418191
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58942}
2019-01-19 21:16:12 +00:00
Tamer Tas
8da315bdaa [testrunner] remove brittle tests
testrunner has tests asserting about the implementation details, assertions
about the behavior of the testrunner (already in-place) provides robust coverage
already.

This cl remove the brittle assertions.

R=machenbach@chromium.org
CC=yangguo@chromium.org,sergiyb@chromium.org

Bug: v8:8174
Change-Id: I6583c971b7cf7eb2eb7dfa2b6737d6aa67957feb
Reviewed-on: https://chromium-review.googlesource.com/c/1421359
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58928}
2019-01-18 15:47:02 +00:00
Georg Neis
b07e02efa4 [tools] Make ic-processor print global loads/stores.
Change-Id: I807581b0c058c304769d4ba1b4f9bc8a9739536f
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/1417633
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58920}
2019-01-18 12:35:43 +00:00
Michael Achenbach
0013fff621 [test] Remove obsolete blink test skips
The tests were skipped due to problems with the previous test setup. Now the
setup is the same as in Chromium and those tests should pass.

NOTRY=true

Bug: chromium:828847
Change-Id: Ibfbb931031176add90a340ca79c71e89f05e3045
Reviewed-on: https://chromium-review.googlesource.com/c/1421318
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58918}
2019-01-18 12:30:23 +00:00
Ulan Degenbaev
c0994d3ffb Reland "[heap] Optimize MemoryChunk::FromAnyPointerAddress"
This is a reland of fd49c8bb43

Original change's description:
> [heap] Optimize MemoryChunk::FromAnyPointerAddress
> 
> Currently this function requires the caller to hold a mutex for the
> large page chunk hashtable and performs a hashtable lookup.
> 
> This patch adds a header sentinel field in each MemoryChunk. The field
> is then used to distinguish large object slots from ordinary slots.
> 
> Bug: chromium:915233
> Change-Id: I9fbeeb4f07f49573d0a21f9a2cc934370e417d68
> Reviewed-on: https://chromium-review.googlesource.com/c/1391752
> Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58732}

Bug: chromium:915233
Change-Id: I10d23a928328169a2dc6bab78d2b7d2c5d00ebb6
Reviewed-on: https://chromium-review.googlesource.com/c/1406672
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58876}
2019-01-17 11:25:59 +00:00
Sergiy Belozorov
9378c6d1b1 [tools] Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:616879
Change-Id: I301af0a07f29c32c1ade23a7858455aa2632a847
Reviewed-on: https://chromium-review.googlesource.com/c/1407083
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58864}
2019-01-16 20:47:02 +00:00
Daniel Clifford
b615dfa550 [torque] Implement methods and constructors for structs and classes
With the changes in this patch,	it is now possible to add methods to
both Torque's class and struct types. As a special case, "constructor"
methods are used to initialize the values of classes and structs when
they are constructed.

The functionality in this patch	includes:

- The refactoring of class- and struct-handling code to share field
  and method declaration code between both.

- Addition of the "%Allocate" intrinsic that allocates raw bytes to be
  allocated from the V8 GC's NewSpace heap as the basis for freshly
  created, initialized class objects.

- An implementation of a CallMethodExpression AST node that enables
  calling methods and constructors, including special handling of
  passing through the "this" pointer for method calls on structs by
  reference. The syntax for struct construction using "{}" remains as
  before, but now calls the struct's matching constructor rather than
  implicitly initializing the struct fields with the initialization
  arguments. A new syntax for allocation classes is introduced: "new
  ClassName{constructor_param1, constructor_param1, ...}", which
  de-sugars to an %Allocate call followed by a call to the matching
  constructor.

- class	constructors can use the "super" keyword to initialize	their
  super class.

- If classes and struct do not have a constructor, Torque creates a
  default constructor for them based on their field declarations,
  where each field's initial value is assigned to a same-typed
  parameter to the the default constructor. The default constructor's
  parameters are in field-declaration order, and for derived classes,
  the default constructor automatically uses a "super" initialization
  call to initialize inherited fields.

- Class field declarations now automatically create ".field" and
  ".field=" operators that create CSA-compatible object accessors.

- Addition of a no-argument constructor for JSArrays that creates an
  empty, PACKED_SMI_ELEMENTS JSArray using the machinery added
  elsewhere in this patch.

Bug: v8:7793
Change-Id: I31ce5f4b444656ab999555d780aeeba605666bfa
Reviewed-on: https://chromium-review.googlesource.com/c/1392192
Commit-Queue: Daniel Clifford <danno@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58860}
2019-01-16 17:13:13 +00:00
Sergiy Belozorov
3c34f1a50c [tools] Add new swarming bots and remove support for Buildbot perf trybots
R=machenbach@chromium.org, tmrts@chromium.org

No-Try: true
Bug: chromium:616879
Change-Id: I1dbef7ca4ac69df2d3de654b381ab163d5be4214
Reviewed-on: https://chromium-review.googlesource.com/c/1409200
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58845}
2019-01-16 11:35:49 +00:00
Leszek Swirski
d92705e53b [profview] Use requestAnimationFrame to schedule a render
This is more idiomatic than using a Promise.

Change-Id: I61443e90ef1c0c589284851ea9be410153919eb5
Reviewed-on: https://chromium-review.googlesource.com/c/456278
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58828}
2019-01-15 13:08:46 +00:00
Tamer Tas
d6c915189f [testrunner] use selection sort generator instead of timsort for test cases
V8 testrunner is loading every test it has to run into memory greedily in order
to sort by slowness of the test case. The memory and CPU overhead for loading
the test-suites are non-trivial.

This CL restructures it by changing the sorting method.

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

Bug: v8:8174
Change-Id: I08331182147b92cf4ac54823eea0e2b472f51e84
Reviewed-on: https://chromium-review.googlesource.com/c/1406684
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58821}
2019-01-15 11:27:19 +00:00
Sigurd Schneider
15e803c1b9 [turbolizer] Refactor View/PhaseView interfaces
Notry: true
Bug: v8:7327
Change-Id: I9cdea29db2b409d773a16e3d6c29ef4325257162
Reviewed-on: https://chromium-review.googlesource.com/c/1409437
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58815}
2019-01-15 09:14:32 +00:00
Sigurd Schneider
78bd811e5c [turbolizer] Add show control toolbox item for graph view
This allows to reset the layout to the the inital layout of the graph,
which only contains the control nodes.

Change-Id: I7ab9fb1615057df99983369cd0fcdd42a68e1924
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1409436
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58814}
2019-01-15 09:08:22 +00:00
Sigurd Schneider
441ecad955 [turbolizer] Refactor toolbox handling
This enables per-phase toolbox items, which makes the toolbar easier
to understand and use.

Change-Id: I1b44d28595c118f0ba55dd64eea54415b51b93aa
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1409435
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58813}
2019-01-15 09:06:22 +00:00
Sigurd Schneider
65a034b2da [turbolizer] Fix info-view fetching url
The URL must not have a leading slash, and the file needs to be included
in the deployment script.

TBR=neis@chromium.org

Change-Id: Idd3fc25c052cb720d4956f630a8ddca7e5d36a1a
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1409432
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58799}
2019-01-14 17:31:25 +00:00
Sigurd Schneider
d7a989e3b8 [turbolizer] Keep tabs and info tab between loads
This is a first step towards support for opening more than one
turbolizer json file at once.

Change-Id: Id51ce47c59492ba63de03eceb0163fa1701ea500
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1407057
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58790}
2019-01-14 15:09:30 +00:00
Sigurd Schneider
5b490eb2ee [turbolizer] Add CTRL+L as load shortcut
..as mentioned in the info tab.

Change-Id: I9ddbe1ad7eb3242ad7839650aecc7305a902fb0d
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1407056
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58789}
2019-01-14 15:07:30 +00:00
Sigurd Schneider
ad6c02afbd [turbolizer] View whole graph after phase change
..instead of wrongly keeping the location from the previous view if
the selection became empty after attaching it.

Change-Id: I606010ad86034c2ec06e00c82143a22ca2d88274
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1407055
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58788}
2019-01-14 15:05:30 +00:00
Sigurd Schneider
574939c6de [turbolizer] Detect in-place updates of nodes
..and display them in the extended node title (on hover).

Notry: true
Bug: v8:7327
Change-Id: Ic9cd6207269686edb42ecf1bee8f7ef7b6caa035
Reviewed-on: https://chromium-review.googlesource.com/c/1407054
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58783}
2019-01-14 14:00:54 +00:00
Sigurd Schneider
3113fa4fad [turbolizer] Add checkbox to search only visible nodes
Drive-by: Make label of checkboxes in disassembly view clickable.

Notry: true
Bug: v8:7327
Change-Id: I29478c5cb2bd4152df7943f9dfbba487f3b8bddb
Reviewed-on: https://chromium-review.googlesource.com/c/1407053
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58782}
2019-01-14 13:58:34 +00:00