- 18 Mar, 2020 10 commits
-
-
Zhao Jiazhong authored
Port e47f9a9d https://crrev.com/c/2102570 Original Commit Message: The set of registers to spill was wrong. Instead of spilling wasm parameter registers (like the WasmCompileLazy builtin), we should spill all registers that are being used as Liftoff cache registers. This CL defines platform-specific WasmDebugBreakFrameConstants which hold the set of registers to spill. This set is used in the builtin, and will later be used for inspecting the spilled registers. In order to iterate bit sets more easily in both direction (MSB to LSB or LSB to MSB), we add a base::bits::IterateBits{,Backwards} method which provides the respective iterators. Change-Id: I1137a0b8bcb20d994bfc8662f0a938b627582fbd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105495Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66765}
-
Georg Neis authored
Bug: chromium:1062532 Change-Id: Iaac3103987a561ce519321276c623b5eb37ec830 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108022 Commit-Queue: Georg Neis <neis@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66764}
-
Georg Neis authored
We don't ever want a node's type to become less precise. Also move a part of JSTypedLowering::ReduceJSStrictEqual that can be expressed solely in terms of types into the typer, where it generalizes an existing case. Change-Id: I37c58fed48f606f6fe34e98e5f066434e50cb6c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106204 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66763}
-
Tobias Tebbi authored
To ensure good error messages, we do create bindings even for non-const fields but then add a new error message mechanism when accessing such a binding. Bug: v8:7793 Change-Id: I2f20483514660c5ce92202d301c631f6ac055446 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2096617 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#66762}
-
Georg Neis authored
Change-Id: I9388a6b4f684a1567e1cbae9ee4784e43a99633e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106208 Auto-Submit: Georg Neis <neis@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66761}
-
Tobias Tebbi authored
In the runtime, we always had a convention to use int-typed accessors for Smi fields. For Torque-generated classes, we kept them Smi-typed but then added int wrappers around that. This CL makes Torque generate int-typed accessors directly, removing the need for these wrappers. TBR=hpayer@chromium.org Bug: v8:7793 Change-Id: I348e1d96295c9676fafda32b7d49088848527f89 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106210 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#66760}
-
Tobias Tebbi authored
- Allow type expression for abstract type supertypes. For consistency, and ease of implementation, also allow this for enums. - Allow subtyping of structs. This requires changing all places where we checked for struct types and instead check if we have a subtype of a struct type. - This allows defining two subtypes of the Reference<T> struct for mutable and constant references. Mutable references are a subtype of constant references. - &T desugars to MutableReference<T> const &T desugars to ConstReference<T> - A const field of a class produces a constant reference. A const field of a mutable reference to a struct is const. A mutable field of a const reference to a struct is const. - It is possible to assign a new struct value to a mutable reference to a struct, even if the struct contains const fields. This is analogous to allowing assignments of let-bound structs with constant fields. Not in this CL: - A notion of const slices. - Applying const to appropriate class fields. Bug: v8:7793 Change-Id: I6e7b09d44f54db25f8bf812be5f3b554b80414e0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2096615Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66759}
-
jing.bao authored
Bug: v8:9909 Change-Id: If16056ebe0e8c3519afd49982561f96655a03786 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2101129Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#66758}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/a1cbf64..44de6a6 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/d7a6643..42d02fb Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/34d90be..a30b7bd Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/d60a6a8..6e39ba4 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: Ibfe9439dc95c33bd05c59369fae3816c966aea47 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108042Reviewed-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@{#66757}
-
Ng Zhi An authored
In the codegen for shift operations, we update the temp s128 register with the shift value, before shifting src with temp. Thus we really want src to be a different register from temp. I found this with some locally-ran fuzzing. Bug: v8:10115 Change-Id: Ie492570c672f352f0e19aef2b8498c86ec4fdd98 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2107359Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66756}
-
- 17 Mar, 2020 18 commits
-
-
Ng Zhi An authored
This optimizes i8x16 shifts when shift value is constant. It reduces instruction counts from 10 to 6 (unsigned), and 9 to 5 (signed). We can use a word (16-bit) shift, then mask away the high (shru) or low (shl) bits to achieve a byte shift. Most of the instructions are dedicated to building the mask. Bug: v8:10115 Change-Id: Ie602c2b0a7227181502fadb14e100bb0b92f322f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2103445 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#66755}
-
Milad Farazmand authored
This Cl enables simd on machines which support VECTOR_ENHANCE_FACILITY_1. It also enables related tests to match execution on x64. LoadTransform tests must be skipped on the simulator until a future CL matches behaviour between native BE and its simulator on LE. Change-Id: Iaadc32e0388bf15d3d7c550062a373fb403b65c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2107053Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66754}
-
Ng Zhi An authored
Delegate to macro assembler functions to pick between SSE or AVX. This simplifies the optimization of constant shifts later. Bug: v8:10115 Change-Id: If0b7dc83a68f2d7839c65527a3b6a62310ace6dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2103443Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66753}
-
Thibaud Michaud authored
And fix a few issues revealed by this new test. Incidentally, the test uses removeBreakpoint which was still untested with Liftoff. But as expected this seems to work out of the box. R=clemensb@chromium.org Bug: v8:10321 Change-Id: Ifa4e867737d925ea8c6c9731575a32f3da3e16dc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106206 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66752}
-
Georgia Kouveli authored
Generate a BTI instruction at each target of an indirect branch (BR/BLR). An indirect branch that doesn't jump to a BTI instruction will generate an exception on a BTI-enabled core. On cores that do not support the BTI extension, the BTI instruction is a NOP. Targets of indirect branch instructions include, among other things, function entrypoints, exception handlers and jump tables. Lazy deopt exits can potentially be reached through an indirect branch when an exception is thrown, so they also get an additional BTI instruction. Bug: v8:10026 Change-Id: I0ebf51071f1b604f60f524096e013dfd64fcd7ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1967315 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66751}
-
Iain Ireland authored
Some code at the interface between irregexp and the rest of V8 uses V8-specific APIs that are not used elsewhere in irregexp. For example, only a handful of functions in irregexp call or are called from generated code. When embedding irregexp into SpiderMonkey, these functions are an obstacle, because they are dead code, but still have to compile. To simplify the process of embedding, this patch does two things: 1. It moves StringCharacterPosition out of irregexp and into objects/string, renaming it "AddressOfCharacterAt". 2. It guards the following set of functions with '#ifndef COMPILING_IRREGEXP_FOR_EXTERNAL_EMBEDDER': - IrregexpInterpreter::MatchForCallFromJs - NativeRegExpMacroAssembler::CheckStackGuardState - NativeRegExpMacroAssembler::Match - NativeRegExpMacroAssembler::Execute This will have no effect in a V8 build, but can be defined by SpiderMonkey or another embedder to omit the problematic functions. In the future, if we attempt to make a cleaner separation between V8 and irregexp, these functions will be a good place to start defining the API boundary. R=jgruber@chromium.org Bug: v8:10303 Change-Id: I9f531a36e4f13440cafb0d0ade921f4c09f39c05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2097220Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#66750}
-
Philip Pfaffe authored
Add a scriptLanguage enum to the new scripts events. This overhauls crrev.com/c/2011083 that was related. Report the code section offset as well as the script language on the Debugger.scriptParsed and Debugger.scriptFailedToParse events. Bug: chromium:1057569 Change-Id: I40b43f28f0b3e094720db4fc1f07db1a0c293ee0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2083025Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Cr-Commit-Position: refs/heads/master@{#66749}
-
Milad Farazmand authored
Port f26c7b75 Original Commit Message: This tests inspecting a bigger number of registers (covers all registers on many platforms). It also executes all four intrinsic types (i32, i64, f32, f64). R=clemensb@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I47c7f593287500cb125dbf63e6d375d41a5f80fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106094Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66748}
-
Yuki Shiino authored
https://html.spec.whatwg.org/multipage/history.html#the-location-interface HTML Location platform objects need to be initialized with using the %ObjProto_valueOf% intrinsic object. This patch exposes the %ObjProto_valueOf% intrinsic object to embedders. Example usage is: https://crrev.com/c/2102306 Change-Id: Iec58135773e01aed5de330c0c5dea89a49835a52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2102408Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Yuki Shiino <yukishiino@chromium.org> Cr-Commit-Position: refs/heads/master@{#66747}
-
Georg Neis authored
To avoid that constant folding makes some type assertions hold vacuously, we don't constant-fold directly but instead introduce a new FoldConstant operator that remembers the original node and gets lowered to an equality assertion by the EffectControlLinearizer. Change-Id: I7aedbe6d4fe47461856723c0c40ba3313a376bd8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2100992 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66746}
-
Dominik Inführ authored
Track list of all local heaps in the Safepoint class instead of the Heap. Bug: v8:10315 Change-Id: I1a1c847502ab5e8f368d4cc12d3cbaf3672af7cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106197Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#66745}
-
Mythri A authored
Bug: v8:9684 Change-Id: I7694b8dfed27131c104f23a9f8d526d350670449 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2089472Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#66744}
-
Clemens Backes authored
The macro is not needed, the same condition can also be expressed programmatically. Its name is misleading anyway, since it has nothing to do with the wasm64 proposal. Drive-by: Use GraphAssembler to implement {BuildF64CopySign}. R=jkummerow@chromium.org, tebbi@chromium.org Bug: v8:10123, v8:10155 Change-Id: I85238172037f08bd2e4d2d4564950759524f991a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105637Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66743}
-
Georg Neis authored
This is a reland of 2c834c53, in which node replacement was too aggressive. Original change's description: > [turbofan] Clean up ConstantFoldingReducer > > Change-Id: Iaf7f83cc157a6f6680da8933560347f7f3503d56 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2098736 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66706} Change-Id: I5d306092dde4119629af4c5e7e424a0e9a14310d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106193 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66742}
-
Jakob Kummerow authored
There was a very narrow corner case where we would return from the runtime function that tries to instantiate a module created by an asm.js-to-wasm translation in an inconsistent state: returning a Smi failure sentinel even though there is a pending exception. Bug: chromium:1061808 Change-Id: I22f5c6cdb8d7f7abfddb2bb81dc9261c8a35bdeb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106194Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66741}
-
Ulan Degenbaev authored
This adjusts v8::[Shared]ArrayBuffer::NewBackingStore to allow passing a known empty deleter -- v8::BackingStore::EmptyDeleter. Such API is useful if the backing store memory is static or is manually managed. We can skip adjusting the amount of external memory for ArrayBuffers with empty deleters and thus avoid scheduling ineffective GCs. Bug: chromium:1061960 Change-Id: I0ef5b2b0839098beb59d5cebbb28f9f81a73a042 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105355Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66740}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/32206c0..a1cbf64 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/3ef483f..d7a6643 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/c48fb84..34d90be Rolling v8/third_party/icu: https://chromium.googlesource.com/chromium/deps/icu/+log/0b61343..d7aff76 Rolling v8/third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/c2eb8a7..156be8c TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: Ie829bcfff9526a66fde5d665f670d3b623fb8186 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106099Reviewed-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@{#66739}
-
Kong, Fanchen authored
Bug: v8:9909 Change-Id: I0d00aa79055667b627126b28f277dc5f670f25f3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2097820Reviewed-by: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Fanchen Kong <fanchen.kong@intel.com> Cr-Commit-Position: refs/heads/master@{#66738}
-
- 16 Mar, 2020 12 commits
-
-
Milad Farazmand authored
Port ae03752f Original Commit Message: This implements inspection of live registers on breakpoints in Liftoff. To that end, the frame pointer of the WasmDebugBreak frame is remembered when iterating the stack. Based on a platform-specific implementation of {WasmDebugBreakFrameConstants}, the offset of the respective register within that frame is computed, and the value is read from the frame. As a drive-by, the wasm debug side table is storing register codes as liftoff codes, which can also store register pairs (needed for i64 on 32-bit platforms, and for SIMD, which is not supported yet). R=clemensb@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I1f4a52c349bd57098f633c5fd641642695b6fe96 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106294Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66737}
-
Milad Farazmand authored
Port e47f9a9d Original Commit Message: The set of registers to spill was wrong. Instead of spilling wasm parameter registers (like the WasmCompileLazy builtin), we should spill all registers that are being used as Liftoff cache registers. This CL defines platform-specific WasmDebugBreakFrameConstants which hold the set of registers to spill. This set is used in the builtin, and will later be used for inspecting the spilled registers. In order to iterate bit sets more easily in both direction (MSB to LSB or LSB to MSB), we add a base::bits::IterateBits{,Backwards} method which provides the respective iterators. R=clemensb@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ic308a7712f080e43a0c45f496b087ce8450f657a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105563Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66736}
-
Ng Zhi An authored
Implement all 8 extract_lane ops on ARM and ARM64. Bug: v8:9909 Change-Id: I72e30b53c92933bd5830008ec02e1f4526e8b4c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2103169 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66735}
-
Joyee Cheung authored
At the moment when the static private method is unused in source code (either explicitly or through eval) but is accessed at runtime through the debugger, and there are no other potential references to the class variable in the source code otherwise, the reference to the class variable is lost here since the class variable would not be context-allocated, then we could not rebuild a proper brand check for it. For now, a ReferenceError would be thrown and the method is considered "optimized away", similar to how unused ordinary methods in closures work. Before this patch it would DCHECK when generating bytecode for the debugger instead of throwing errors. Bug: v8:9839, v8:8330 Change-Id: I5d63131a7bdba141d01a3e6459bc27d0f5953c1a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2095637 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#66734}
-
Ng Zhi An authored
Implement f64x2.add, i64x2.add, i8x16.add on ARM and ARM64. Bug: v8:9909 Change-Id: Id41bb3c02c1873e1380463264a3e5fd31949c949 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2103107 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66733}
-
Dominik Inführ authored
Add safepoint mechanism to stop concurrent threads and bring them to a safepoint. Threads are stopped before the safepoint and after e.g. the GC resumed again. Each thread needs to be stopped in a safepoint, such that all roots can be iterated safely. Running threads need to be cooperative and are required to perform regular safepoint polls. The last version of this CL was reverted because safepoint_requested_ wasn't initialized (see https://crrev.com/c/2105634). Bug: v8:10315 Change-Id: I6ef244c0fb31c178589b5e3d1c62687a8dd65768 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105635Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#66732}
-
Milad Farazmand authored
Change-Id: I0352ef9e4213d6dc0f50a5406d8e167784408452 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2095755 Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66731}
-
Clemens Backes authored
Complete Liftoff support is needed for debugging. In case of a bailout from Liftoff, produce a better error message, also in release builds. R=thibaudm@chromium.org Bug: v8:10147 Change-Id: I8cdb11a5c54f9101ea611e28dd3fb7dc4fe5c538 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105633Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66730}
-
Clemens Backes authored
This reverts commit c84963ea. Reason for revert: Fails on msan: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/31376 Original change's description: > [heap] Introduce safepoint mechanism > > Add safepoint mechanism to stop concurrent threads and bring them to a > safepoint. Threads are stopped before the safepoint and after e.g. the > GC resumed again. Each thread needs to be stopped in a safepoint, such > that all roots can be iterated safely. > > Running threads need to be cooperative and are required to perform > regular safepoint polls. > > Bug: v8:10315 > Change-Id: I47f07e7d2ef5bc5adbba6b9e8e79a1f0f45b97ad > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2102578 > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66727} TBR=ulan@chromium.org,dinfuehr@chromium.org Change-Id: If11281b2b9fc622b91261417b202676f23f60b50 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10315 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105634Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66729}
-
Andreas Haas authored
R=clemensb@chromium.org Bug: v8:10281 Change-Id: I34e6d1ec57d59e266d3182a3d3cc69d4cbb9d047 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2104889 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66728}
-
Dominik Inführ authored
Add safepoint mechanism to stop concurrent threads and bring them to a safepoint. Threads are stopped before the safepoint and after e.g. the GC resumed again. Each thread needs to be stopped in a safepoint, such that all roots can be iterated safely. Running threads need to be cooperative and are required to perform regular safepoint polls. Bug: v8:10315 Change-Id: I47f07e7d2ef5bc5adbba6b9e8e79a1f0f45b97ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2102578 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66727}
-
Camillo Bruni authored
Enable more tests to use top level await modules. Bug: v8:9344 Change-Id: I61c0c0205235969a43af602af327654b7e8a3dad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2074402Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#66726}
-