Commit Graph

3829 Commits

Author SHA1 Message Date
Tobias Tebbi
eb5cfbe086 [csa] runtime bounds-checks on FixedArray indexed access
Bug: v8:8029

Change-Id: I5d5575a74af49236ff55a39c6a6805472bd63609
Reviewed-on: https://chromium-review.googlesource.com/1166910
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55014}
2018-08-09 10:32:07 +00:00
Sergiy Byelozyorov
01c289aa59 [tools] Allow to increase number of times a perf test is retried
R=machenbach@chromium.org

No-Try: true
Bug: chromium:775123
Change-Id: I8883be60cc4860fad572ba644bbc722972551eb3
Reviewed-on: https://chromium-review.googlesource.com/1168483
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54999}
2018-08-09 07:49:01 +00:00
Michael Achenbach
e51782d33b [test] Log output on error in perf runner
NOTRY=true
TBR=sergiyb@chromium.org

Bug: chromium:866862
Change-Id: I52737a644c36f78b1803a443b89600bb7a114082
Reviewed-on: https://chromium-review.googlesource.com/1168485
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54997}
2018-08-09 06:57:49 +00:00
Sergiy Byelozyorov
c5eef01d0c [tools] Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:838266
Change-Id: I7a8065038b4f62d10a1c0bc26df91566bdfec6bb
Reviewed-on: https://chromium-review.googlesource.com/1154220
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54995}
2018-08-09 02:06:41 +00:00
Sergiy Byelozyorov
c136d7b4c9 [tools] Remove support for v8_nexus9_perf_try
TBR=machenbach@chromium.org

No-Try: true
Bug: chromium:838864
Change-Id: Id4881bd0cd01564cb969da7aad855a7ce6685bb8
Reviewed-on: https://chromium-review.googlesource.com/1168482
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54993}
2018-08-09 00:09:27 +00:00
Frank Tang
b27c3736c1 [Intl] Implement Intl.ListFromat format() and formatToParts().
Spec: http://tc39.github.io/proposal-intl-list-format/

Design Doc:  go/add-intl.listformat-to-v8

Test: intl/list-format/*

R=gsathya@chromium.org, mvstanton@chromium.org

Bug: v8:7871
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I820c205ca842c228ffe37f7e1648667f30f80bd8
Reviewed-on: https://chromium-review.googlesource.com/1126683
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54991}
2018-08-08 23:52:27 +00:00
Marja Hölttä
e2fb86f804 [in-place weak refs] Use in-place weak refs in DependentCode
BUG=V8:7308

Change-Id: I4836aaca1474f08098120e6c17cc2b3bd65c70eb
Reviewed-on: https://chromium-review.googlesource.com/1166914
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54975}
2018-08-08 12:48:18 +00:00
Sergiy Byelozyorov
d652c85c5e [tools] Add v8_pixel2_perf_try to the list of bots that can be triggered
TBR=machenbach@google.om

No-Try: true
Bug: chromium:838864
Change-Id: Ic162e3fbd1c02b62cd8151bb5a598ca25db39d0b
Reviewed-on: https://chromium-review.googlesource.com/1163721
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54968}
2018-08-08 11:48:09 +00:00
Clemens Hammacher
b8a192be52 [cleanup] Remove DCHECK from third_party
DCHECKs (defined in src/logging.h) should not be used in third_party
code. This CL removes the only such use.

R=marja@chromium.org

Bug: v8:7754, v8:7965
Change-Id: I44196bd2d85e459e27c6a897f039f741edf1e2e1
Reviewed-on: https://chromium-review.googlesource.com/1158684
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54967}
2018-08-08 10:47:16 +00:00
Sathya Gunasekaran
363fe1eb66 [Intl] Optimize Intl.Collator
This patch ports most of the Intl.Collator from JS to C++.

The Intl.Collator object no longer stores all the resolved
values. Instead these are looked up on demand as part of
Intl.Collator.prototype.resolvedOptions(), saving several words. In
the future, we can cache the result of the resolvedOptions as well.

In this patch, we use ICU to do parsing of the unicode extension in
the bcp47 language tag instead of using a custom extension parser.

This patch also fixes several spec compliance bugs as well.

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Iaaa7be4a628404da1bd83d882e04a2c6de70ebd9
Bug: v8:5751, v8:7480
Reviewed-on: https://chromium-review.googlesource.com/1165084
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54965}
2018-08-08 10:21:19 +00:00
Michael Achenbach
de80e94c9a [test] Refactoring - extract Android driver logic from perf runner
This prepares for reusing the driver logic for correctness testing.

NOTRY=true

Bug: chromium:866862
Change-Id: If901ca8552cf48f29e240ed5b52ea7e722e0e1e4
Reviewed-on: https://chromium-review.googlesource.com/1163608
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54961}
2018-08-08 09:12:18 +00:00
Sathya Gunasekaran
cdb4d913f6 [Intl] Optimize Intl.PluralRules
Previously, Intl.PluralRules was mostly implemented in JavaScript. This
patch moves most of the constructor and parts of other methods to C++.

The size of the Intl.PluralRules object is reduced by not storing
MinimumIntegerDigits, MinimumFractionDigits, MaximumFractionDigits,
MinimumSignificantDigits, MaximumSignificantDigits. Instead these are
looked up from icu::DecimalFormat as required.

Another optimziation is that we don't create the result of
resolvedOptions when the Intl.PluralRules object is constructed, but
instead defer until this method is called. In the future, we may want
to cache the result.

This patch also cleans up several error handling paths that shouldn't
happen with ICU and instead just crashes should it ever happen.

Bug: v8:5751
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I84c5aa6c25c35fe2d336693dee1b36bf3dcd4a79
Reviewed-on: https://chromium-review.googlesource.com/1158701
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54917}
2018-08-06 10:33:59 +00:00
Clemens Hammacher
2f92faaf26 [iwyu] Avoid use of inl methods in builtins-utils.h
Move them to builtins-utils-inl.h instead.

R=titzer@chromium.org

Bug: v8:8015, v8:7965
Change-Id: I692e5871e320896923bed5cc6a2efc609c793446
Reviewed-on: https://chromium-review.googlesource.com/1160845
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54899}
2018-08-03 13:18:56 +00:00
Clemens Hammacher
d212c35646 [iwyu] Add missing include in builtins-constructor.h
R=titzer@chromium.org

Bug: v8:7754, v8:7965
Change-Id: I62027d97c40276b5dfa9579fc4e903ee21a55b54
Reviewed-on: https://chromium-review.googlesource.com/1160539
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54894}
2018-08-03 10:53:52 +00:00
Clemens Hammacher
95f9391c63 [iwyu] Split off arguments-inl.h and builtins-utils-inl.h
arguments.h used methods only defined in objects-inl.h and
handles-inl.h. These uses are now moved to arguments-inl.h. Since
builtins-utils.h used these methods, it also needs to be split to have
an inl header now.

R=titzer@chromium.org

Bug: v8:7754, v8:7965
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I21db7a86f7c15776eccf060f81f2bde000b92a40
Reviewed-on: https://chromium-review.googlesource.com/1160647
Reviewed-by: Ben Titzer <titzer@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54889}
2018-08-03 09:26:41 +00:00
Clemens Hammacher
0cd263ac09 [iwyu] Add missing include in deoptimizer.h
R=titzer@chromium.org

Bug: v8:7754, v8:7965
Change-Id: I810f362f57a690f890d962a88f80df14c7de65db
Reviewed-on: https://chromium-review.googlesource.com/1160226
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54861}
2018-08-02 09:57:55 +00:00
Clemens Hammacher
3782b834ae [iwyu] Add missing include in graph-visualizer.h
R=titzer@chromium.org

Bug: v8:7754, v8:7965
Change-Id: Ie7eb8243186238e71e8c51d133d2c334f946727f
Reviewed-on: https://chromium-review.googlesource.com/1160223
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54860}
2018-08-02 09:56:50 +00:00
Clemens Hammacher
c2ee9c6af7 [iwyu] Avoid overwriting source file with same content
The generate-header-include-checks.py script generates the cc files to
check that headers can be included in isolation. It currently always
writes to all the cc files. This means that after "gclient runhooks",
all these files have to be recompiled.
This CL fixes this by not touching the file if it already contains the
expected content. This avoids hundreds of recompilations after running
the hook.

R=machenbach@chromium.org

Bug: v8:7965
Change-Id: I93a0abb936863f6c21ed22ba1b7d900b96725fa3
Reviewed-on: https://chromium-review.googlesource.com/1156514
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54858}
2018-08-02 09:19:32 +00:00
Sergiy Byelozyorov
8dc41a581c [tools] Refactor run_perf.py to use logging module for all status messages
All status messages will be printed into STDERR and only the results will
continue to be written to STDOUT as documentation suggests. Additionally the
following changes are made:
 - on Buildbot each log entry will have a timestamp to make it easy to measure
   time between status messages printed by test runner, users will continue to
   see just the message itself
 - when devil (or any other module) logs error, they will not be interleaved
   with our own output since logging module is thread-safe
 - critical logs replaced with warning since they do not immediately stop
   the test runner
 - logging.exception is used for all exceptions to get formatted stack trace

TBR=machenbach@chromium.org

No-Try: true
Bug: chromium:838864
Change-Id: I197fcc3bc5890130ce8b35c3e21237f9614fc468
Reviewed-on: https://chromium-review.googlesource.com/1159361
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54851}
2018-08-01 23:12:15 +00:00
Clemens Hammacher
d065807971 [iwyu] Fix includes in v8memory.h
R=titzer@chromium.org

Bug: v8:7754, v8:7965
Change-Id: I9389bc60eab8283d9b70a49a9a71c6d092146de0
Reviewed-on: https://chromium-review.googlesource.com/1158071
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54836}
2018-08-01 10:30:35 +00:00
Clemens Hammacher
0e6129b7ee [iwyu] Fix includes in elements-inl.h
R=titzer@chromium.org

Bug: v8:7754, v8:7965
Change-Id: I5cb76b4e989fbe6d4d08bafb60dbbb26c3d58e2d
Reviewed-on: https://chromium-review.googlesource.com/1156515
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54820}
2018-07-31 14:09:29 +00:00
Ben L. Titzer
27cd5d0384 [iwyu] Make string-builder.h an inline file
As discussed offline, this header is not really useful without its
inline definitions. So instead of trying to split it (unnaturally),
declare defeat and make it an inline header file.

Also remove two unnecessary uses of it, move the JSON stringifier
class into its .cc file (because it needs IncrementalStringBuilder
inline) and forward declare in prettyprinter.h.

R=petermarshall@chromium.org, mstarzinger@chromium.org
BUG=v8:7965

Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I7ba032ca718a195e156ec3e59f8e858a25423450
Reviewed-on: https://chromium-review.googlesource.com/1156401
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54818}
2018-07-31 12:52:22 +00:00
Michael Lippautz
714c0fd166 [heap-stats] Fix trace file reader for raw log files
Tbr: cbruni@chromium.org
No-try: true
Change-Id: Ica8c64e0956d4ca362646814e675104f94e77fac
Reviewed-on: https://chromium-review.googlesource.com/1155585
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54791}
2018-07-30 19:56:39 +00:00
Michael Lippautz
33e9321907 [heap,iwyu] More cleanup
The following are ready for iwyu:
- src/heap/mark-compact.h
- src/heap/objects-visiting.h

Bug: v8:7490
Change-Id: I4cb9b1146586adcef8c0e0cf187ca363fe6e9a8d
Reviewed-on: https://chromium-review.googlesource.com/1154970
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54788}
2018-07-30 14:53:01 +00:00
Peter Marshall
20ce87beef [cleanup] Fix more header includes to allow individual compilation
Fixes:
  src/parsing/parse-info.h
  src/parsing/preparsed-scope-data.h
  src/profiler/heap-profiler.h
  src/profiler/heap-snapshot-generator.h
  src/profiler/heap-snapshot-generator-inl.h'
  src/property.h
  src/prototype.h
  src/prototype-inl.h

Bug: v8:7754,v8:7490,v8:7965
Change-Id: Iba14292cdfbbaf29d5b989c16d579a1ee0edcc25
Reviewed-on: https://chromium-review.googlesource.com/1154967
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54787}
2018-07-30 14:36:41 +00:00
Michael Lippautz
268117f84c [heap,iwyu] Clean up scavenger and related headers
Bug: v8:7490
Change-Id: Id6e50a201732b4ca1fd1f69f8c43298e216ce95b
Reviewed-on: https://chromium-review.googlesource.com/1154788
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54785}
2018-07-30 13:07:52 +00:00
Michael Lippautz
80e85caa31 [iwyu] Cleanup more heap/ files
Bug: v8:7490
Change-Id: I6bed10a6389d83b1941ba894f06b2d9540e84139
Reviewed-on: https://chromium-review.googlesource.com/1152733
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54781}
2018-07-30 12:02:01 +00:00
Peter Marshall
a61c16b012 [cleanup] Fix more header includes to allow individual compilation
Fixes:
  src/map-updater.h
  src/objects/property-descriptor-object.h
  src/objects/prototype-info-inl.h
  src/objects/regexp-match-info.h
  src/objects/shared-function-info-inl.h

Bug: v8:7754,v8:7490,v8:7965

Change-Id: I7ae9dc86491c8e147d628f5fd8362534e861b15e
Reviewed-on: https://chromium-review.googlesource.com/1154221
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54780}
2018-07-30 09:34:27 +00:00
Sergiy Byelozyorov
e6bebb3a28 [tools] Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:838266
Change-Id: I898579f780e40ee0fb5fd1948a92a6c500242dfd
Reviewed-on: https://chromium-review.googlesource.com/1154219
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54771}
2018-07-28 12:38:54 +00:00
Sergiy Byelozyorov
43316a0a6c [tools] Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:838266
Change-Id: I0c288eeaf28569d671220ab320aaec677825bb37
Reviewed-on: https://chromium-review.googlesource.com/1154218
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54770}
2018-07-28 12:17:34 +00:00
Sergiy Byelozyorov
382c18627b [tools] Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:842224
Change-Id: Icd00b7b4b86e1cc2de0234c69632eb5e6a63b11a
Reviewed-on: https://chromium-review.googlesource.com/1154216
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54769}
2018-07-28 11:27:24 +00:00
Matheus Marchini
09bca095e3 [postmortem] add ScopeInfo and Context types
The metadata introduced in this patch will be useful for postmortem
tools to inspect Contexts and ScopeInfos (see
https://github.com/nodejs/llnode/issues/211).

R=bmeurer@google.com, yangguo@google.com

Change-Id: I927fcab4014d128bd782046c1ecb9ee045723e95
Reviewed-on: https://chromium-review.googlesource.com/1153858
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54768}
2018-07-28 09:49:14 +00:00
Sergiy Byelozyorov
ae76bb4c35 [tools] Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:842224
Change-Id: Ic7c6093331f1bd35fffbfc98cd3f1d0ed3571eb4
Reviewed-on: https://chromium-review.googlesource.com/1154212
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54767}
2018-07-28 05:06:44 +00:00
Sergiy Byelozyorov
28232f63d2 [tools] Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:842224
Change-Id: I63c96969382fff550a64f80d35a7576d84092a0a
Reviewed-on: https://chromium-review.googlesource.com/1154211
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54766}
2018-07-28 04:52:24 +00:00
Sergiy Byelozyorov
d2d3cc588a [tools] Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:838864
Change-Id: Ie0e6e1742344bfd69ec109f55fcccbaca0d66d66
Reviewed-on: https://chromium-review.googlesource.com/1154209
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54764}
2018-07-28 02:56:40 +00:00
Sergiy Byelozyorov
6cd560b265 Revert "[tools] Add an option to checkout v8-perf repo before running perf tests"
This reverts commit ba02337157.

Reason for revert: decided to use CIPD package instead, see reasoning here: http://shortn/_MgZHcjC60Q.

Original change's description:
> [tools] Add an option to checkout v8-perf repo before running perf tests
>
> R=​machenbach@chromium.org
>
> No-Try: true
> Bug: chromium:838864
> Change-Id: I02e38778ec4c33a20f4b2e93fb22615baa316883
> Reviewed-on: https://chromium-review.googlesource.com/1151295
> Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54723}

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

# Not skipping CQ checks because original CL landed > 1 day ago.

No-Try: true
No-Tree-Checks: true
Bug: chromium:838864
Change-Id: I65a5b075c6fede61b59528ba92f6803011f187c7
Reviewed-on: https://chromium-review.googlesource.com/1153687
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54759}
2018-07-27 21:28:58 +00:00
Michael Lippautz
8abada5b41 [iwyu] Untangle heap/local-allocator(-inl).h
Bug: v8:7490
Change-Id: I72444df6f75bc61c467c2df51f87581ef44fe09e
Reviewed-on: https://chromium-review.googlesource.com/1151632
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54751}
2018-07-27 10:44:30 +00:00
Peter Marshall
558cfa099e [cleanup] Fix more header includes to allow individual compilation
Fixes:
  src/objects/intl-objects-inl.h
  src/objects/js-collection.h
  src/objects/js-collection-inl.h
  src/objects/js-regexp-string-iterator-inl.h
  src/objects/microtask-inl.h
  src/objects/module-inl.h
  src/objects/ordered-hash-table-inl.h
  src/objects/promise-inl.h

Bug: v8:7754,v8:7490
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Id5a5017713fa9920add2b38dbc56ab74abd4addd
Reviewed-on: https://chromium-review.googlesource.com/1152732
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54748}
2018-07-27 09:15:20 +00:00
Peter Marshall
fbedc72a6c [cleanup] Fix more header includes to allow individual compilation
Fixes:
  src/objects/arguments.h
  src/objects/arguments-inl.h
  src/objects/compilation-cache-inl.h
  src/objects/data-handler-inl.h
  src/objects/hash-table-inl.h

Bug: v8:7754,v8:7490
Change-Id: Ic17d4c3477c7d2003b325497cb9082899a0bf3fc
Reviewed-on: https://chromium-review.googlesource.com/1151312
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54736}
2018-07-26 21:27:09 +00:00
Sergiy Byelozyorov
ba02337157 [tools] Add an option to checkout v8-perf repo before running perf tests
R=machenbach@chromium.org

No-Try: true
Bug: chromium:838864
Change-Id: I02e38778ec4c33a20f4b2e93fb22615baa316883
Reviewed-on: https://chromium-review.googlesource.com/1151295
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54723}
2018-07-26 13:13:56 +00:00
Jakob Kummerow
f15cb8fe54 [tests] Make processing of test filters faster
The test driver compares command-line arguments against test names
it finds on disk. Using Python's "fnmatch" for this nicely handles
wildcards, but is relatively slow. For given test names that don't
contain any '*', we can use string equality testing, which is much
faster.

Example: the time to evaluate

 tools/run-tests.py --arch x64 --mode release \
   $(grep 'object-spread' -l -r test/test262/data/test/ | \
       sed -E 's|\.js$||' | \
       sed -E 's|^test/test262/data/test/|test262/|')

goes from "I gave up and killed the process after several minutes"
to a couple of seconds with this patch.

Change-Id: I9ec404b7516afd801fe6126347f6dff533d1977c
Reviewed-on: https://chromium-review.googlesource.com/1149196
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54704}
2018-07-25 20:48:05 +00:00
Michael Achenbach
46930afc4e [tools] Fix missing import in node script
NOTRY=true
TBR=yangguo@chromium.org

Change-Id: I2d8d07f048204874995dd4d349b6fb2b5b226630
Reviewed-on: https://chromium-review.googlesource.com/1150158
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54695}
2018-07-25 13:18:25 +00:00
Sergiy Byelozyorov
a82ea31afb [tools] Detect location of android build tools automatically
R=machenbach@chromium.org

No-Try: true
Bug: chromium:838864
Change-Id: Ifbdd9fe986e84197fd1ff6441c1565fed44c2c6f
Reviewed-on: https://chromium-review.googlesource.com/1149869
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54689}
2018-07-25 11:23:55 +00:00
Clemens Hammacher
6af63b9483 [iwyu] Fix includes in maybe-handles-inl.h and maybe-object-inl.h
R=titzer@chromium.org

Bug: v8:7965
Change-Id: I1bdd5b3bc8626727c94b95b519a8896384ff990b
Reviewed-on: https://chromium-review.googlesource.com/1148573
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54684}
2018-07-25 09:24:29 +00:00
Peter Marshall
1465c36d85 [cleanup] Fix the includes for some more files
Change-Id: I87b141d44706fedf7821c266c6207564fd77a9b6
Reviewed-on: https://chromium-review.googlesource.com/1148577
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54677}
2018-07-25 08:11:14 +00:00
Clemens Hammacher
81f12eee5c [iwyu] Fix includes in double.h
Drive-by: Convert const to constexpr.

R=titzer@chromium.org

Bug: v8:7965
Change-Id: Ifddfba78e819a0d340fba27a6efedea654b057e8
Reviewed-on: https://chromium-review.googlesource.com/1148722
Reviewed-by: Marja Hölttä <marja@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54676}
2018-07-25 07:57:55 +00:00
Frank Tang
ac8b5b919e [Intl] Implement Intl.ListFormat constructor
Spec: http://tc39.github.io/proposal-intl-list-format/

Design Doc:  go/add-intl.listformat-to-v8

Test: intl/list-format/*

R=gsathya@chromium.org, mvstanton@chromium.org

Bug: v8:7871
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I0dfb91b7806007e4f02f3b0438c30528c8143081
Reviewed-on: https://chromium-review.googlesource.com/1124343
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Daniel Ehrenberg <littledan@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54668}
2018-07-24 21:50:13 +00:00
Peter Marshall
d2abbc138e [cleanup] Fix header includes for js-array-inl.h
Change-Id: Ib0a047c0e02b3feaf878af2ec87d5d0f35167280
Reviewed-on: https://chromium-review.googlesource.com/1148561
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54665}
2018-07-24 18:56:35 +00:00
Clemens Hammacher
ce3a402d0e [iwyu][wasm] Fix IWYU violations
R=titzer@chromium.org

Bug: v8:7965
Change-Id: I5e44e8a4dd522703e7a20e32abae1f66ba44451e
Reviewed-on: https://chromium-review.googlesource.com/1148566
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54661}
2018-07-24 17:32:34 +00:00
Clemens Hammacher
d324382e1c Reland "[turboassembler] Introduce hard-abort mode"
This is a reland of a462a7854a

Original change's description:
> [turboassembler] Introduce hard-abort mode
> 
> For checks and assertions (mostly for debug code, like stack alignment
> or zero extension), we had two modes: Emit a call to the {Abort}
> runtime function (the default), and emit a debug break (used for
> testing, enabled via --trap-on-abort).
> In wasm, where we cannot just call a runtime function because code must
> be isolate independent, we always used the trap-on-abort behaviour.
> This causes problems for our fuzzers, which do not catch SIGTRAP, and
> hence do not detect debug code failures.
> 
> This CL introduces a third mode ("hard abort"), which calls a C
> function via {ExternalReference}. The C function still outputs the
> abort reason, but does not print the stack trace. It then aborts via
> "OS::Abort", just like the runtime function.
> This will allow fuzzers to detect the crash and even find a nice error
> message.
> 
> Even though this looks like a lot of code churn, it is actually not.
> Most added lines are new tests, and other changes are minimal.
> 
> R=mstarzinger@chromium.org
> 
> Bug: chromium:863799
> Change-Id: I77c58ff72db552d49014614436259ccfb49ba87b
> Reviewed-on: https://chromium-review.googlesource.com/1142163
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54592}

Bug: chromium:863799
Change-Id: I7729a47b4823a982a8e201df36520aa2b6ef5326
Reviewed-on: https://chromium-review.googlesource.com/1146100
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54656}
2018-07-24 15:58:46 +00:00