- 07 Dec, 2020 4 commits
-
-
Zhi An Ng authored
Stick more closely to the decoding guide laid out in the manual, and also take the chance to remove some duplicate code. Drive-by fix a clang-tidy warning for bool literal. Bug: v8:11074 Change-Id: I91aa8db7cd3db30b250e8bfc9bb146c8bb56dcd1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567530 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#71630}
-
Zhi An Ng authored
Bug: v8:11008 Change-Id: Ic7be8370e3e820d225558995a9ad2295811e98a4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567531Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71629}
-
Zhi An Ng authored
Prototype v128.{load,store}{8,16,32,64}_lane on arm. Bug: v8:10975 Change-Id: I649f567f39f8a5ba6992a86b761f93f62619c139 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2565079 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#71628}
-
Zhi An Ng authored
This is a reland of 716dae3a Original change's description: > [wasm-simd][ia32] Prototype sign select > > The implementation is the same as on x64. > > Bug: v8:10983 > Change-Id: I2654ce4a627ca5cc6c759051ab9034c528d9f25a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567194 > Reviewed-by: Bill Budge <bbudge@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71606} Bug: v8:10983 Change-Id: I05af92ec2d3531dd2e0d27353cc665967fb5c387 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2574001 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#71627}
-
- 06 Dec, 2020 1 commit
-
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/7ac6aae..83e2334 Rolling v8/third_party/aemu-linux-x64: FMtthcz6qGrAgLXdxXJ6pP0iueMVqTXO6-6_LOrvTZUC..ZgEt2vZQcebeMBnTVKemE7gxtLtigVkD5iHfrp1QkDsC Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/e6a6233..e602c60 TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: Ie61fff611a4f3817f9e34f874d7e1fc10e56d648 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2576441Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#71626}
-
- 05 Dec, 2020 3 commits
-
-
Junliang Yan authored
Pair Ops are for 31-bit support. We had drop 31-bit support long time ago so don't need them anymore. Change-Id: Iff1f8df19433fd1431316888d0c5276b9710b1fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2576003 Commit-Queue: Junliang Yan <junyan@redhat.com> Reviewed-by: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#71625}
-
Camillo Bruni authored
- Clean up entry selection code - Add source positions for code and deopt events - Fix log entry selection from script - Improve log parsing speed Bug: v8:10644 Change-Id: Ie466679132b8ce24506ecf75223118b32275f931 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2569756 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#71624}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/acf4f5e..7ac6aae Rolling v8/third_party/aemu-linux-x64: Ld6Ho8txe7fnUwYDIgKsMmU0e2gBZ9Zx1n43O83aofUC..FMtthcz6qGrAgLXdxXJ6pP0iueMVqTXO6-6_LOrvTZUC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/d1cf5db..88efddc Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/b2c18f2..e6a6233 Rolling v8/third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/9893e50..c29ee8c TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: I7eb12442d93f225caf74d58546e1967b33bd5a0d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2576004Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#71623}
-
- 04 Dec, 2020 19 commits
-
-
Shu-yu Guo authored
Bug: v8:7367 Change-Id: I4240f6683945c0f60b30afe563f8f735563e4367 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2568230Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#71622}
-
Junliang Yan authored
Replace LoadW/lW/LogicalHalfWordP/HalfWordP/B/lB/Float32/Double as LoadS32/U32/S16/U16/S8/U8/F32/F64 Change-Id: I2a41dee0168fb17eb4043ce78f857e1fd898ea8a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2575139Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71621}
-
Thibaud Michaud authored
R=jkummerow@chromium.org Bug: chromium:1155319 Change-Id: Iea99b5caaee1fc2ea4a6ed846badd2f1be57ae19 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2574698Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#71620}
-
Shu-yu Guo authored
I2S with LGTMs: https://groups.google.com/a/chromium.org/g/blink-dev/c/I8S78w7aFmE/m/qLHAcjhRCQAJ v8: 10961 Change-Id: If0440c0595823c61352f144c1fc29c54a1175623 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2574716Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#71619}
-
Dominik Inführ authored
VerifyNewSpaceTop() assumes that original_top_ and allocation_info_.start() always match. PublishPendingAllocations() violates this invariant by only updating original_top_ in the NewSpace. Fix this by using MarkLabStartInitialized() for NewSpace. Alternatively we could loosen the DCHECK in VerifyNewSpaceTop(). The fix doesn't matter too much since Ulan's LAB refactoring will get rid of that code anyways. Bug: v8:11224 Change-Id: I26267ac9dd78cc5d2a2a6fefca3b69f4582c094f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2569769 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Auto-Submit: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#71618}
-
Leszek Swirski authored
Improve the performance of gcmole by * Precompiling the regexes in GCSuspectsCollector.Resolve * Merging those regexes into a single regex, using '|' * Changing multiprocess clang plugin invocation to threaded (running the plugin releases the GIL so this can efficiently thread). This uses a simple worker pool with a single work queue. * Change clang plugin invocation loop to yield after each invocation. This pipelines the dump-callees plugin and GCSuspectsCollector Parse/Resolve, so that the parse can happen while waiting for other callee dumps to finish. Change-Id: Ib9fca70dbcfd2f9d1aebc8bd11aa1d1f7d34e24a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562242Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Liviu Rau <liviurau@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#71617}
-
Clemens Backes authored
We currently do not report a script ID for wasm code, i.e. the script id is 0. We cannot just print the script ID itself, as it is considered unstable. Thus this CL only makes us print whether it is set or not. In a follow-up CL where we fix setting script IDs for wasm code events the output will change. R=thibaudm@chromium.org Bug: chromium:1125986 Change-Id: Ibc52829ea8a5a5c9506e36390eb4c608bcab4624 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2571120 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#71616}
-
Andreas Haas authored
The implementation is follows the implementation of table.copy, aside from the table-index being passed as an intptr instead of a Smi. The builtins of table.get/set and table.copy are different in that regard. R=thibaudm@chromium.org Bug: v8:7581 Change-Id: Ifde788b230083dc6633ce6b41e6acfb8b503b781 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414211 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#71615}
-
Milad Fa authored
f64x2min/max need to canonicalize the output only if both inputs are also canonicalized, otherwise any arithmetic NaN (from either lane) can be placed into the result register. We also need to make sure the output value is a QNAN. Change-Id: I363f88528674014cd92828d429a61442406025b0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2573484Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#71614}
-
Clemens Backes authored
This makes sure that the code tested by fuzzers is the same as running on native hardware. R=ahaas@chromium.org Bug: v8:11041 Change-Id: I1005b2de3a22d88a6bdf164338633bbb7991bc1f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2573481Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71613}
-
Junliang Yan authored
Change-Id: I982c0040b95a1495630034871389843e5248b221 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2572961 Commit-Queue: Junliang Yan <junyan@redhat.com> Reviewed-by: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#71612}
-
Tobias Tebbi authored
Port String::Flatten to Torque (using a fast C call for the non-allocating part) and provide fast and easy access to sequential string data in Torque: GetStringData() flattens if necessary and computes slices that allow direct access. Applications: String.prototype.replaceAll, String.prototype.endsWith, and String.prototype.beginsWith now use GetStringData() and direct slice access instead of the slow StringCharCodeAt and they no longer bail out to the runtime for flattening. Drive-by changes: - Expose String instance type bits as bitfields and enums in Torque. - Fix method lookup in Torque to include superclass methods. - Use char8 and char16 types in more places. - Allow fast C calls with void return type. - Add Torque macros to create subslices. - Add no-GC scopes to runtime functions loading external string data. Bug: v8:7793 Change-Id: I763b9b24212770307c9b2fe9f070f21f65d68d58 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2565515 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#71611}
-
Sathya Gunasekaran authored
This reverts commit b614cd78. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64/40448/overview Original change's description: > Reland "Reland "[heap] Add epoch to GC tracing events"" > > This is a reland of 3238162d > > No changes since the last reland. > > Original change's description: > > Reland "[heap] Add epoch to GC tracing events" > > > > This is a reland of be52501d > > > > Fix data race by not emitting the epoch for sweeper background jobs > > at them moment. > > > > Original change's description: > > > [heap] Add epoch to GC tracing events > > > > > > This CL adds the TRACE_GC_EPOCH macro, which adds the epoch as attribute > > > to the trace event. Use TRACE_GC_EPOCH for top-level events, nested > > > events can get the information from its parent. > > > > > > V8's GC needs an epoch for young and full collections, since scavenges > > > also occur during incremental marking. The epoch is also process-wide, > > > so different isolates do not reuse the same id. > > > > > > Change-Id: I8889bccce51e008374b4796445a50062bd87a45d > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2565247 > > > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#71521} > > > > Change-Id: Ib8f4bfdc01c459955eb6db63bb6e24a8aa068f09 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567702 > > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#71567} > > TBR=ulan@chromium.org,dinfuehr@chromium.org > > Change-Id: I09dcfabbad4ef1ad50e02a227282982cd7d87997 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2571122 > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71609} TBR=ulan@chromium.org,dinfuehr@chromium.org Change-Id: I9dfd37f969ec0c5e5f278e6a82732995fd82e5d9 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2574002Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#71610}
-
Dominik Inführ authored
This is a reland of 3238162d No changes since the last reland. Original change's description: > Reland "[heap] Add epoch to GC tracing events" > > This is a reland of be52501d > > Fix data race by not emitting the epoch for sweeper background jobs > at them moment. > > Original change's description: > > [heap] Add epoch to GC tracing events > > > > This CL adds the TRACE_GC_EPOCH macro, which adds the epoch as attribute > > to the trace event. Use TRACE_GC_EPOCH for top-level events, nested > > events can get the information from its parent. > > > > V8's GC needs an epoch for young and full collections, since scavenges > > also occur during incremental marking. The epoch is also process-wide, > > so different isolates do not reuse the same id. > > > > Change-Id: I8889bccce51e008374b4796445a50062bd87a45d > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2565247 > > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#71521} > > Change-Id: Ib8f4bfdc01c459955eb6db63bb6e24a8aa068f09 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567702 > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71567} TBR=ulan@chromium.org,dinfuehr@chromium.org Change-Id: I09dcfabbad4ef1ad50e02a227282982cd7d87997 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2571122Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#71609}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/cb1a537..acf4f5e Rolling v8/third_party/aemu-linux-x64: h_lfZjWg21ZL3JBJXSabJsKCnyhbzTyNAISwoJCfLCAC..Ld6Ho8txe7fnUwYDIgKsMmU0e2gBZ9Zx1n43O83aofUC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/5537c03..d1cf5db Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/4640dfb..b2c18f2 Rolling v8/third_party/fuchsia-sdk: https://chromium.googlesource.com/chromium/src/third_party/fuchsia-sdk/+log/f8df9ff..efa4658 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/8636efe..9ec0bb3 TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: I4244d6d44df9c205b5c33c570100f46826bc4560 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2573012Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#71608}
-
Zhi An Ng authored
This reverts commit 716dae3a. Reason for revert: broke noavx build https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20debug/33124/overview Original change's description: > [wasm-simd][ia32] Prototype sign select > > The implementation is the same as on x64. > > Bug: v8:10983 > Change-Id: I2654ce4a627ca5cc6c759051ab9034c528d9f25a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567194 > Reviewed-by: Bill Budge <bbudge@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71606} TBR=bbudge@chromium.org,zhin@chromium.org Change-Id: I6408268945e41ef7acf5938ac989bab9824df185 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10983 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2573996Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71607}
-
Zhi An Ng authored
The implementation is the same as on x64. Bug: v8:10983 Change-Id: I2654ce4a627ca5cc6c759051ab9034c528d9f25a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567194Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71606}
-
Zhi An Ng authored
Some extract lane and replace lane opcodes overlap with the ones used for load lane, with a different addressing mode. Merge those cases together and delete unused opcodes. Drive by clean-up to rename kF32x4ReplaceLane to kIA32Insertps to follow the naming convetion (kIA32 prefix) and also make it more general if in the future we use insertps for other purposes. Bug: v8:10975 Change-Id: Id143670f63e69cb45cf7c1ce358297a928383035 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2568924Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71605}
-
Zhi An Ng authored
Bug: v8:11215 Change-Id: I71b47fab37a92e1b988a613b234694a57e21a9d5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567533Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71604}
-
- 03 Dec, 2020 13 commits
-
-
Milad Fa authored
brc or brcl may be emitted depending on the offset length. The emitted instr size may be 4 or 6 bytes. Change-Id: I542ae6a60378ee33e48e08d4f1cdeda4c4c70bb1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2572497Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#71603}
-
Thibaud Michaud authored
First step towards the new exception handling proposal: https://github.com/WebAssembly/exception-handling/issues/125 This is essentially a revert of: "[wasm] Switch to new 'catch' and 'br_on_exn' proposal." The changes are: - "catch" instruction takes a tag immediate, - "rethrow" instruction takes a label immediate, - Add "catch_all" instruction, - Remove "br_on_exn" instruction, - Do not push exceptions on the stack, only the encoded values R=clemensb@chromium.org CC=aheejin@chromium.org Bug: v8:8091 Change-Id: Iea4d8d5a5d3ad50693f645e93c13e8de117aa884 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2484514 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71602}
-
Sathya Gunasekaran authored
No-Try: true Bug: v8:11222 Change-Id: I64e30e95101d0c8a318c7081b8c94f97fdb8538c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2571127Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Auto-Submit: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#71601}
-
Leszek Swirski authored
TurboFan creates DisallowHeapAccess scopes, to prevent heap access in the concurrent parts of the compiler. Then, for parts of the compiler that do want to access the heap, it either creates Allow* scopes (which should be avoided since they "punch a hole" in the Disallow* scopes), or relies on a weakening of Handle::IsDereferenceAllowed which allows handles owned by a LocalHeap to be dereferenced even if there is a DisallowHeapDereference scope. This patch: a) Strengthens the implicit requirements around handle dereferencing to require a running heap on this thread (either main-thread heap or an un-parked, un-safepointed LocalHeap). b) Removes the overly strict Disallow scopes in TurboFan, relying instead on implicit requirements for allocation/handle dereferencing in off-thread code. c) Cleans up the "should_disallow_heap_access" predicate to be more explicit about what should be disallowed (e.g. property accesses can't be computed concurrently) Change-Id: Icb56b7764913ac17e2db197a70bb189af88a6978 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2554617 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#71600}
-
Daniel Clark authored
I'd implemented Module::GetModuleRequests() such that it can only be called on a SourceTextModuleRecord, forgetting that one of the APIs it replaces, Module::GetModuleRequestsLength(), could be called on a synthetic module. The old behavior allowed embedders to write code that iterates over a module's requests without needing to handle synthetic modules as a special case. GetModuleRequestsLength() would just return 0 for all synthetic modules and the code to process the requests would be skipped seamlessly for them. With the new GetModuleRequests() API, this would no longer be possible, and embedders would explicitly need to check IsSyntheticModule() before calling it. Thus, to reach parity with the old API, this change allows embedders to call GetModuleRequests() on a synthetic module, which will always result in an empty FixedArray. Bug: v8:10958 Change-Id: I6024261fe46d18fa7acc83b0ec8f69d6af21b28d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2570146Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Dan Clark <daniec@microsoft.com> Cr-Commit-Position: refs/heads/master@{#71599}
-
Dominik Inführ authored
These tests are pretty slow with both TSAN and --stress-incremental-marking enabled. * Skip octane/raytrace for the variant stress when TSAN is enabled. * Test wasm/shared-memory-worker-stress is slow with TSAN. Change-Id: Ia4b8ce2986d04e6ef2fc7d28991cd5ce7faf31e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2571129Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#71598}
-
Junliang Yan authored
Change-Id: I611f5c7a41bc6d050ca36d1c011d47795bfc5abc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2570033Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71597}
-
Junliang Yan authored
Change-Id: Ia2b9861e720cb2d2ce1d0d88867f31467798278d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2569771Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71596}
-
Manos Koukoutos authored
AnalyzeLoopAssignment did not take into account that 'let' shifts local indexes. Drive-by: Use gTest infrastructure in AnalyzeLoopAssignment tests (EXPECT_*) instead of CHECKs. Bug: v8:9495 Change-Id: Ic0ddb5edfde48acf172f4cac9bdcd0312b6121a0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567955 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#71595}
-
Zhi An Ng authored
Bug: v8:11074 Change-Id: I50476740e2e6c78aff6db859db1db86f25ce897b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2569561 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#71594}
-
Zhi An Ng authored
Bug: v8:11074 Change-Id: I108a847e12df2438cc73e4f7a31ba4148f07cdc0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2569562 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#71593}
-
Dominik Inführ authored
This is a reland of 2afb00c0 Original change's description: > [heap] Remove SWEEPING phase in incremental marking > > The SWEEPING phase in incremental marking was used to finish sweeping > of the last GC cycle concurrently before starting incremental marking. > This avoids potentially long pauses when starting incremental marking. > However this shouldn't be necessary in most cases where sweeping is > already finished when starting the next cycle. The implementation also > didn't cleanly separate the GC cycles. > > In case the sweeping phase is necessary for pause times, we can > introduce a "CompleteSweep" phase which runs right before starting > incremental marking. > > Change-Id: Iaff8c06d5691e584894f57941f181d0424051eec > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567707 > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71555} Change-Id: I173bdeaf342d4c0590453f7d9eeb8ab5cfddc73c Bug: v8:11220, v8:11221 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2571111 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#71592}
-
Andreas Haas authored
Safepoint maps record all spill slots that contain a tagged value. The introduction of multi-value return changed the stack frame layout though and the calculation of spill slots has not been adjusted accordingly. This CL adjusts the creation of safepoints now to work for multi-value returns as well. R=neis@chromium.org Bug: v8:11206 Change-Id: Id623dbc28b976dcf625ac78738e03e642fafbb36 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2569762 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#71591}
-