1. 24 Apr, 2020 8 commits
    • Leszek Swirski's avatar
      Reland "[offthread] Move stress-background-compile to compiler.cc" · 471b2001
      Leszek Swirski authored
      This is a reland of a441cbfb
      
      Disabling cctest/test-compiler/DeepEagerCompilationPeakMemory in stress
      mode since allocation is no longer deterministic.
      
      Original change's description:
      > [offthread] Move stress-background-compile to compiler.cc
      >
      > Make --stress-background-compile a V8 flag rather than a d8 flag, so
      > that it also tests unittests/cctests.
      >
      > Now, with this flag, every top-level script compile (that fulfills a
      > couple of restrictions) will be both main-thread and background-thread
      > compiled, taking the result of the background compile. In the future,
      > we'll probably want to verify that the two results are equivalent.
      >
      > One of the necessary changes to allow tests to pass was to introduce a
      > concept of a "temporary" script (with a temporary script id), which
      > doesn't get added to the script list. This is to avoid the main-thread
      > compile part of the stress-test having a debugger-visible side-effect,
      > e.g. in tests that enumerate scripts. We can't just create new ids for
      > such scripts, as then script-id expectation files no longer match.
      >
      > Bug: chromium:1011762
      > Change-Id: I500bbf2cabea762e69aca3dbae247daae71192cb
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2120541
      > Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#67332}
      
      TBR=rmcilroy@chromium.org
      
      Bug: chromium:1011762
      Change-Id: I5f9f0eb71caa4829e72b4a6d2824cbebd3698bd5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162876Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67356}
      471b2001
    • Sathya Gunasekaran's avatar
      [turbofan] Split DependentCode::kFieldOwner group · 6acbbfbe
      Sathya Gunasekaran authored
      This patch will allow turboprop to selectively turn off const based
      optimizations.
      
      Change-Id: Icd0ec29968287a428cbf38857191900dbf3fda36
      Bug: v8:9684, v8:10431
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2149429
      Commit-Queue: Sathya Gunasekaran  <gsathya@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67355}
      6acbbfbe
    • Leszek Swirski's avatar
      [offthread] Disable off-thread compiles for block coverage · 7712da4d
      Leszek Swirski authored
      Off-thread compilation currently doesn't support adding DebugInfo to a
      SharedFunctionInfo, so it also doesn't support adding coverage info.
      
      For now, disable off-thread finalization entirely when block coverage
      is enabled. In the future we most likely want to add support for this.
      
      Bug: chromium:1011762
      Change-Id: I7fdcee48f427d0f7061e90602d9d7557a98e54bb
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2126911
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67354}
      7712da4d
    • Leszek Swirski's avatar
      [offthread] Allow errors in off-thread compile · d1d35f9b
      Leszek Swirski authored
      Use the PendingCompilationErrorHandler in the UnoptimizedCompileState
      class to prepare compilation errors off-thread, and report them during
      the merge into the main thread.
      
      Bug: chromium:1011762
      Change-Id: I3ad5078e25c176aa30743500714b2fad838d3ce8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105354
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67353}
      d1d35f9b
    • Frank Tang's avatar
      Roll test262 · 3fe19f31
      Frank Tang authored
      https://chromium.googlesource.com/external/github.com/tc39/test262/+log/62b8fce3..31dabb56
      
      31dabb5 Add a test for Unicode key-type pairs being canonicalized by Intl.Locale regardless whether they're passed in the input tag, or through the options object. by Jeff Walden · 9 hours ago master
      7a4b88e Add `null` named capture coercion test case by Alexey Shvayka · 9 hours ago
      6de6484 Add functional replacement test by Alexey Shvayka · 9 hours ago
      a6f3449 Add string replacement test by Alexey Shvayka · 9 hours ago
      eca34ed Drop "the" and align license headers by Alexey Shvayka · 9 hours ago
      34b2ab3 Use non ID_Continue characters in negative tests by Alexey Shvayka · 9 hours ago
      89bb1b7 Remove negative parse tests that are now valid by Alexey Shvayka · 9 hours ago
      3b5845a Add invalid non-Unicode test by Alexey Shvayka · 9 hours ago
      b0995ea Add invalid Unicode test by Alexey Shvayka · 9 hours ago
      fd18971 Add valid non-Unicode test by Alexey Shvayka · 9 hours ago
      1991c24 Add valid Unicode test by Alexey Shvayka · 9 hours ago
      d57bd9d Simplify alphanum regex in testIntl.js by Ross Kirsling · 9 hours ago
      064d3c2 correct exceptions for exceptZero by Frank Yung-Fong Tang · 9 hours ago
      18f5551 correct expectation for exceptZero by Frank Yung-Fong Tang · 9 hours ago
      7bb81a4 correct expectation for exceptZero by Frank Yung-Fong Tang · 9 hours ago
      52ec585 correct expectation for exceptZero by Frank Yung-Fong Tang · 9 hours ago
      6b3b5c1 correct expectation for exceptZero by Frank Yung-Fong Tang · 9 hours ago
      7aa1291 correct expectation for exceptZero by Frank Yung-Fong Tang · 9 hours ago
      fb00de4 correct expectation of exceptZero by Frank Yung-Fong Tang · 9 hours ago
      11cc0c0 correct expectation for exceptZero by Frank Yung-Fong Tang · 9 hours ago
      9119877 correct expectation for exceptZero by Frank Yung-Fong Tang · 9 hours ago
      2022f97 correct expectation for exceptZero by Frank Yung-Fong Tang · 9 hours ago
      0fc6784 correct exceptZero expectation by Frank Yung-Fong Tang · 9 hours ago
      988bf55 correct exceptZero expectation by Frank Yung-Fong Tang · 9 hours ago
      e5d4129 correct for exceptZero by Frank Yung-Fong Tang · 9 hours ago
      8293c96 correct expectation for exceptZero by Frank Yung-Fong Tang · 9 hours ago
      0279d96 correct cases for exceptZero by Frank Yung-Fong Tang · 9 hours ago
      d401735 correction for exceptZero by Frank Yung-Fong Tang · 9 hours ago
      f07fe8c correct by Frank Yung-Fong Tang · 9 hours ago
      c1a1111 correct by Frank Yung-Fong Tang · 9 hours ago
      832ecd2 correct by Frank Yung-Fong Tang · 9 hours ago
      940be66 correct expectation for signDisplay: "exceptZero" by Frank Yung-Fong Tang · 9 hours ago
      df0207c Test revoked [[ProxyHandler]] by Alexey Shvayka · 9 hours ago
      d6834ac Test revoked callable [[ProxyTarget]] by Alexey Shvayka · 9 hours ago
      449f3ed Test revoked [[ProxyTarget]] by Alexey Shvayka · 9 hours ago
      c2f0a3c Bring back accidentally removed __proto__ test by Alexey Shvayka · 9 hours ago
      0c06bbc Add "proto-from-ctor-realm" test for AggregateError by Alexey Shvayka · 9 hours ago
      a240781 Use isConstructor harness in revocation function test by Alexey Shvayka · 9 hours ago
      c31133b Add Proxy.revocable built-in test by Alexey Shvayka · 9 hours ago
      fadb907 Atomics.waitAsync: fix lint trash by Rick Waldron · 10 hours ago
      d7e4de1 Atomics.waitAsync: validate array type; waiter list position, notify before timeout by Rick Waldron · 10 hours ago
      161ce48 Atomics.waitAsync: misused symbol args. by Rick Waldron · 10 hours ago
      127fa27 Atomics: remove erroneous argument from getReport() in harness/atomicsHelper.js by Rick Waldron · 10 hours ago
      bd5b37e Atomics.waitAsync: symbol for timeout throws by Rick Waldron · 10 hours ago
      eeb75f6 Atomics.waitAsync: poisoned object throws by Rick Waldron · 10 hours ago
      db9c0ef Atomics.waitAsync: out of range index by Rick Waldron · 10 hours ago
      0923420 Atomics.waitAsync: fix lint issues by Rick Waldron · 10 hours ago
      c3efb56 Atomics.waitAsync: make all agent timeouts async by Rick Waldron · 10 hours ago
      f03c0c2 fixup! Atomics.waitAsync: no spurious wakeup on [operation] by Rick Waldron · 10 hours ago
      e9ee3dc Atomics: add setTimeout, getReportAsync & safeBroadcastAsync to harness/atomicsHelper .js by Rick Waldron · 10 hours ago
      a46bbfd Atomics: drop unused id argument to agent receiveBroadcast handler by Rick Waldron · 10 hours ago
      974a4ff Atomics.waitAsync: no spurious wakeup on [operation] by Rick Waldron · 10 hours ago
      6d4b4eb Atomics.waitAsync: false, nan, negative, null, object zero timeouts by Rick Waldron · 10 hours ago
      4c2ca05 Atomics.waitAsync: negative index throws by Rick Waldron · 10 hours ago
      a196c93 Atomics.waitAsync: negative timeout by Rick Waldron · 10 hours ago
      677fb82 Atomics.waitAsync: false for timeouts, revised. by Rick Waldron · 10 hours ago
      9519cd8 Atomics.waitAsync: Return Value by Rick Waldron · 10 hours ago
      dabcc05 Atomics.waitAsync: false, nan for timeouts by Rick Waldron · 10 hours ago
      c0f0adf Atomics.waitAsync: ValidateSharedIntegerTypedArray, ValidateAtomicAccess & Return promiseCapability.[[Promise]] by Rick Waldron · 10 hours ago
      4e48a56 Atomics.wait: fix esid by Rick Waldron · 10 hours ago
      bb37b88 Atomics.waitAsync: add descriptor, length, name tests by Rick Waldron · 10 hours ago
      f32b35e Atomics.waitAsync: add feature to features.txt by Rick Waldron · 10 hours ago
      1394a4f Fix Proxy tests by Alexey Shvayka · 10 hours ago
      fe0d4dc Fix bound function tests by Alexey Shvayka · 10 hours ago
      57fa74b Add yield* throw() method test by Alexey Shvayka · 5 days ago
      5628e99 Add default parameters test by Alexey Shvayka · 5 days ago
      1c06724 Add ObjectBindingPattern destructuring tests by Alexey Shvayka · 5 days ago
      4d9944e Add ArrayBindingPattern destructuring tests by Alexey Shvayka · 5 days ago
      1d513c3 Update indices-groups-object.js by Gus Caplan · 5 days ago
      30542f3 Update groups-object.js by Gus Caplan · 5 days ago
      97bd6fd Update indices-groups-object.js by Gus Caplan · 5 days ago
      a799a4a Sort out __proto__ occurances outside of annexB by Gus Caplan · 5 days ago
      e1fb459 Use slice in RegExp lookBehind test by Michaël Zasso · 5 days ago
      68205eb Fixed wrong `esid` and `features` in a Promise.all test by jhnaldo · 5 days ago
      048b6b5 Assert that Symbol is a constructor by Alexey Shvayka · 9 days ago
      4a8e49b Add test for \0 in Unicode patterns (#2569) by Alexey Shvayka · 13 days ago
      156d1b6 Fix async iterator methods not passing absent values tests (#2571) by Alexey Shvayka · 13 days ago
      13d057d fix namespace set test (#2574) by Gus Caplan · 13 days ago
      27a41b6 Improve malformed RegExp named groups coverage (#2568) by Alexey Shvayka · 13 days ago
      6fb6ff6 Add String.prototype.split test by Alexey Shvayka · 2 weeks ago
      0c0bcef Add String.prototype.search test by Alexey Shvayka · 2 weeks ago
      2597829 Add String.prototype.replaceAll test by Alexey Shvayka · 2 weeks ago
      f21c828 Add String.prototype.replace test by Alexey Shvayka · 2 weeks ago
      d8a6a06 Add String.prototype.match test by Alexey Shvayka · 2 weeks ago
      c1a7ffa Rename searchValue-replace-method-abrupt.js by Alexey Shvayka · 2 weeks ago
      18bb955 Upstream additional language tag canonicalisation and Intl.Locale tests from SpiderMonkey by André Bargull · 2 weeks ago
      5d8e6c8 Restore grandfathered tests removed in #2054 by André Bargull · 2 weeks ago
      de02cf4 Re-enable variant subtag canonicalisation in tests by André Bargull · 2 weeks ago
      a525174 Add Unicode and Transformed extension canonicalisation by André Bargull · 2 weeks ago
      1c93566 Update language tag mappings to CLDR 36.1 by André Bargull · 2 weeks ago
      033f31a Add the language tag mappings python script by André Bargull · 2 weeks ago
      756ee6a Update list of numbering systems by André Bargull · 2 weeks ago
      7556d59 Update list of Intl service constructors by André Bargull · 2 weeks ago
      
      
      Bug: v8:7834
      Change-Id: I533f42e2460ba355091e46dec29a4920255a134f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163877
      Commit-Queue: Frank Tang <ftang@chromium.org>
      Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67352}
      3fe19f31
    • Kong, Fanchen's avatar
      [wasm-simd] [liftoff] Fix i8x16.extract_lane_s on ia32 · 3eb43fbc
      Kong, Fanchen authored
      movsx_b needs a byte register on ia32, but is using arbitrary gp register.
      
      Bug: v8:9909
      Change-Id: I5f31733ccf4ca3b04a3564a9133aec496653079e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158928Reviewed-by: 's avatarZhi An Ng <zhin@chromium.org>
      Commit-Queue: Fanchen Kong <fanchen.kong@intel.com>
      Cr-Commit-Position: refs/heads/master@{#67351}
      3eb43fbc
    • Shu-yu Guo's avatar
      [weakrefs] Update js_weak_refs worklist after scavenges · f684ef02
      Shu-yu Guo authored
      The js_weak_refs worklist is currently not updated after scavenges,
      unlike other weak reference worklist.
      
      Bug: v8:8179, chromium:1073981
      Change-Id: I48172606995253edb8a0c96f2b7e2dc34cd3d0d6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163827
      Commit-Queue: Shu-yu Guo <syg@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67350}
      f684ef02
    • Bill Budge's avatar
      Revert "[builtins] Clean up the use of class_name / ES5 [[Class]]" · 213016d6
      Bill Budge authored
      This reverts commit 29c1eab9.
      
      Reason for revert: Causes Blink test failures:
      https://ci.chromium.org/p/v8/builders/ci/V8%20Blink%20Linux/4222
      
      Original change's description:
      > [builtins] Clean up the use of class_name / ES5 [[Class]]
      > 
      > Before ES2015, the ES spec had a [[Class]] internal slot for all
      > objects, which Object.prototype.toString() would use to figure the
      > returned string. Post-ES2015, the [[Class]] slot was removed in spec for
      > all objects, with the @@toStringTag well-known symbol the proper way to
      > change Object.prototype.toString() output.
      > 
      > At the time, spec-identical handling without the use of [[Class]] was
      > implemented in V8 for all objects other than API objects, where issues
      > with the Web IDL spec [1] prevented Blink, and hence V8, to totally
      > migrate to @@toStringTag. However, since 2016 [2] Blink has been setting
      > @@toStringTag on API class prototypes to manage the
      > Object.prototype.toString() output, so the legacy [[Class]] handling in
      > V8 has not been necessary for the past couple of years.
      > 
      > This CL removes the remaining legacy [[Class]] handling in
      > Object.prototype.toString(), JSReceiver::class_name(), and
      > GetConstructorName(). However, it does not remove the class_name field
      > in FunctionTemplateInfo, as it is still used for the `name` property of
      > created functions.
      > 
      > This CL also cleans up other places in the codebase that still reference
      > [[Class]].
      > 
      > This change should have minimal impact on web-compatibility. For the
      > change to be observable, a script must do one of the following:
      > 
      > 1. delete APIConstructor.prototype[Symbol.toStringTag];
      > 2. Object.setPrototypeOf(apiObject, somethingElse);
      > 
      > Before this CL, these changes will not change the apiObject.toString()
      > output. But after this CL, they will make apiObject.toString() show
      > "[object Object]" (in the first case) or the @@toStringTag of the other
      > prototype (in the latter case).
      > 
      > However, both are deemed unlikely. @@toStringTag is not well-known
      > feature of JavaScript, nor does it get tampered much on API
      > constructors. In the second case, setting the prototype of an API object
      > would effectly render the object useless, as all its methods (including
      > property getters/setters) would no longer be accessible.
      > 
      > Currently, @@toStringTag-based API object branding is not yet
      > implemented by other browsers. This V8 bug in particular has been an
      > impediment to standardizing toString behavior. Fixing this bug will
      > unblock [3] and lead to a better Web IDL spec, and better toString()
      > compatibility for all.
      > 
      > [1]: https://www.w3.org/Bugs/Public/show_bug.cgi?id=28244
      > [2]: https://crrev.com/909c0d7d5a53c8526ded351683c65ea7d17531d4
      > [3]: https://github.com/heycam/webidl/pull/357
      > 
      > Bug: chromium:793406
      > Cq-Include-Trybots: luci.chromium.try:linux-rel
      > Change-Id: Iceded24e37afa2646ec385d5018909f55b177f93
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2146996
      > Commit-Queue: Timothy Gu <timothygu@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#67327}
      
      TBR=verwaest@chromium.org,timothygu@chromium.org
      
      Change-Id: I678d2ffc1064b1d1ddb62024cc23c6c41b216ef4
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:793406
      Cq-Include-Trybots: luci.chromium.try:linux-rel
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163956Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67349}
      213016d6
  2. 23 Apr, 2020 22 commits
  3. 22 Apr, 2020 10 commits