- 24 Apr, 2020 15 commits
-
-
Leszek Swirski authored
Moves the Script line-end initialization for profiling out of CreateScript and into FinalizeScriptCompilation. This ensures that scripts created off-thread still get line-ends when necessary. Bug: chormium:1011762 Change-Id: If16ad17b2b3ec96908420107bd5f9161eab9492f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122020 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#67363}
-
Leszek Swirski authored
Parallel tasks have to be resolved to their SharedFunctionInfos on the main thread, so do so for off-thread finalizations. Bug: chromium:1011762 Change-Id: I1f0c510630b820cad191db614960ed734218bf0e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2110018 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#67362}
-
Timothy Gu authored
This is a reland of 29c1eab9 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} Bug: chromium:793406 Change-Id: Ia5d97bd4e1c44cadc6f18a17ffc9d06b038cf8f1 Cq-Include-Trybots: luci.chromium.try:linux-rel Cq-Include-Trybots: luci.v8.try:v8_linux_blink_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163881 Auto-Submit: Timothy Gu <timothygu@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#67361}
-
Clemens Backes authored
The cctests for breakpoints were still executing in the interpreter. This CL moves them over to Liftoff. Note that the additional methods on {DebugInfo} will be reused for other purposes, see https://crrev.com/c/1941139. R=jkummerow@chromium.org Bug: v8:10389 Change-Id: Ia88150612377d6e7db0514af1efe091124b3ddce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162852Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67360}
-
Zhao Jiazhong authored
Port c47d1631 https://crrev.com/c/2158925 Change-Id: Ib1c494c93acfb5d19890427e6ea73202915675df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162415Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#67359}
-
Frank Tang authored
Bug: v8:7834 Change-Id: I9fbcca612db3df6698ebb63bae90b7943e38d48d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163819Reviewed-by: Maya Lekova <mslekova@chromium.org> Auto-Submit: Frank Tang <ftang@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#67358}
-
Leszek Swirski authored
Currently, there is no indication of memory pressure after merging pages from off-thread space into the heap. This can mean that with lots of off-thread compilations, we eventually run out of pages in the memory allocator. Now, trigger a critical memory pressure notification after merging if the old generation is close to being unexpandable. We may want to add other heuristics here (e.g. moderate memory pressure if the heap is highly fragmented), or possibly add similar checks when the off-thread space is initialized, but this works for now. As a drive-by, inline the NotifyOffThreadSpaceMerged call into the off-thread factory merge -- we already do a bunch of special merging stuff in there, and nowhere else, so we may as well be explicit in what we're actually doing. This also allows us to do a pre-check on old-space size and hard limits just before the merge. Bug: chromium:1011762 Change-Id: Ic2b46057cf751bd7eaf787f46beaaf4df36e78fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2131915 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67357}
-
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: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#67356}
-
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: Georg Neis <neis@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#67355}
-
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: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#67354}
-
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: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#67353}
-
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: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#67352}
-
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: Zhi An Ng <zhin@chromium.org> Commit-Queue: Fanchen Kong <fanchen.kong@intel.com> Cr-Commit-Position: refs/heads/master@{#67351}
-
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: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67350}
-
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: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#67349}
-
- 23 Apr, 2020 22 commits
-
-
Zhou, Zhiguo authored
Bug: v8:9909 Change-Id: Id0fcf8ff2575858dd3977795aa03df95b65b5720 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158925Reviewed-by: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhiguo Zhou <zhiguo.zhou@intel.com> Cr-Commit-Position: refs/heads/master@{#67348}
-
Bill Budge authored
This reverts commit a441cbfb. Reason for revert: causes DeepEagerCompilationPeakMemory to fail. https://ci.chromium.org/p/v8/builders/ci/V8%20Linux/36681 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,leszeks@chromium.org Change-Id: I8716b332b07fe4f394b5a32c986bbe652325582d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1011762 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163143Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#67347}
-
Bill Budge authored
- Use a builtin for the fast path of Wasm RefFunc. - Simplify the runtime function by passing instance as first argument. Change-Id: I5f6993cae21a878cee21a391a25c4d574243058b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2144533 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#67346}
-
Frank Tang authored
Pick handful of failure cases from https://bugs.chromium.org/p/v8/issues/detail?id=10437 Mark the test fail The bug should be fixed by ICU67.1 and will be landed soon. Bug: v8:10437 Change-Id: Iac309dd48b2220da777c006c7a35fac24e454430 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2161510 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#67345}
-
Frank Tang authored
1. read and output into option after timeZoneName 2. Not output into resolvedOptions if dateStyle or timeStyle is presented. 3. Add unit test Spec: https://github.com/tc39/ecma402/pull/347 Bug: v8:10438 Change-Id: Ie7fecdb5b6dc83dc9a6dfd8ced26679a4051c833 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2161509 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#67344}
-
Adam Kallai authored
On Windows on ARM64 SIMD and Floating-point Registers aren't used, in case of variadic functions like printf [1]. So the arguments should be placed into general X0..X7 registers. [1] https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions Bug: v8:10365 Change-Id: I67eb19be64df422e188edafc94200528c4e08482 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157374Reviewed-by: Martyn Capewell <martyn.capewell@arm.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67343}
-
Bill Budge authored
- Use the new builtin to convert f32 to Number, rather than changing to f64, then calling f64 to Number. Bug: v8:10070 Change-Id: I9a0660af8f5e517c2c6691d57d665b7e6316a51b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2111714 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67342}
-
Ng Zhi An authored
In the reland, https://crrev.com/c/2157799, I accidentally left out the arm64 implementation. This adds it. R=clemensb@chromium.org Bug: v8:9909 Change-Id: I0e36f85402cd86ed7adaace43e7ec88f9aaad659 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2161566Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67341}
-
Leszek Swirski authored
We don't use StatsCounters anymore for heap work, and this particular counter causes issues for OffThreadSpace, as it can trigger a non-thread-safe counter callback. We could instead make this a thread-safe counter, but since it's unused we may as well just remove it entirely. Bug: chromium:1011762 Change-Id: I5af5ec5c408691ebfb762d87334ec4af54b1c0e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2126914 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67340}
-
Ng Zhi An authored
Bug: v8:9909 Change-Id: I22351c7532e58ccd085f5934d1c59e0108c97cea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2161390Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67339}
-
Seth Brenith authored
This change allows Torque code to initialize bitfield structs, using the same syntax as struct initialization. It also moves the definition of the JSPromise flags to Torque as an example usage. Bug: v8:7793 Change-Id: I3d5e49aa22139ffb4b8ea9f308dd36a2d22b2c1b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2148176 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#67338}
-
Leszek Swirski authored
Introduce an OffThreadTransferHandle (and OffThreadTransferMaybeHandle), which points to a piece of storage known to (and owned by) the OffThreadIsolate. On Publish, the OffThreadIsolate converts this storage stub from a raw pointer to an off-thread object into a main-thread Handle. This allows users of an OffThreadIsolate to not have to worry (as much) about the dance of saving raw object pointers before off-thread finishes and converting those to Handles before it off-thread isolate is published. Bug: chromium:1011762 Change-Id: I7ceb4ed85e770bd6e1867649188597bbcaedb32d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2161066 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#67337}
-
Maya Lekova authored
This CL handlifies the result of the Wait method to avoid possible pointer invalidation caused by a call to RunAtomicsWaitCallback. Bug: v8:9986 Change-Id: Iafb5d84ce372df3d75e408cfec73153b9f552493 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2161069Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ben Smith <binji@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#67336}
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: Ie17013927cc9af002ba843eaa29e53f1a50df674 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162726Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#67335}
-
Jakob Gruber authored
... by replacing manual memory management with unique_ptrs. Bug: v8:10416 Change-Id: Id3acb38192a5203bcb8c0f7eee774eacb934ef49 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2159492 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#67334}
-
Dan Elphick authored
Now that PartialSerializer/Deserializer/etc have been renamed to ContextSerializer/ContextDeserializer/etc, the files can now be renamed hopefully leaving the full history available in code search. Bug: v8:10416 Change-Id: I266c915f6d01a7e2913c4d34d9913fa551046dc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2144061 Auto-Submit: Dan Elphick <delphick@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67333}
-
Leszek Swirski authored
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}
-
Andreas Haas authored
R=clemensb@chromium.org Bug: v8:10108 Change-Id: Ibb7e7e14e86957c6bf302fcfd3e1099d4f00c414 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154646 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67331}
-
Gus Caplan authored
https://tc39.es/proposal-logical-assignment/ Bug: v8:10372 Change-Id: I538d54af6b4b24d450d1398c74f76dd57fdb0147 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158119Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#67330}
-
Leszek Swirski authored
Move the persistent compilation state and Isolate inputs (such as the allocator, shared AST constants, hash seed, logger, etc.) which survives across both parse and compile, out of ParseInfo and into a new UnoptimizedCompileState class. Also add UnoptimizedCompilePerThreadState for per-thread state such as stack limit and RCS. In particular, this new state survives the ParseInfo being destructed, which means it is available after off-thread finalization. This allows a followup to access the PendingCompilationErrorHandler after finalization and report errors on merge. Bug: v8:10314 Change-Id: Ia186bc0f267c704efd771aa1895f50a4525a8364 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105636 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#67329}
-
Zhao Jiazhong authored
Change-Id: I815979c232f0c781a76dd7954fbba9edabec7359 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2152071Reviewed-by: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#67328}
-
Timothy Gu authored
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}
-
- 22 Apr, 2020 3 commits
-
-
Ng Zhi An authored
Load splat opcodes are currently multi-byte, but were not passing the right lengths for decoding of immediates. Bug: v8:10258 Change-Id: I2c93c3f915eaa43a74722cf0285f161d16ef0ff6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154769Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67326}
-
Zhao Jiazhong authored
Port 9f41a584 https://crrev.com/c/2151999 Change-Id: I58b02bebe3802a4c4a66df331913a742a083de9f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2160688Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#67325}
-
Shu-yu Guo authored
This is a reland of 30c6bd45 Original change's description: > [weakrefs] Ship WeakRef and FinalizationRegistry. > > I2S: https://groups.google.com/a/chromium.org/g/blink-dev/c/L04PqDk9eMU > Bug: v8:8179 > Change-Id: I52aaa62cdab981b802fa4a986d60421ef6efcfbb > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158371 > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67295} Bug: v8:8179 Change-Id: If132d88b5a8dbe06ba7a8f80f19f33d9553ca62f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2160017Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#67324}
-