- 21 Jan, 2021 8 commits
-
-
Nico Hartmann authored
This CL lands a workaround for a bug causing the linker to merge ExternalOneByteStringGetChar() and ExternalTwoByteStringGetChar() which leads to the generated vtable address checks failing on one of the inputs. To make the two function's machine code different (to prevent the linker from merging them), this CL adds CHECKs of the arguments to both functions. Bug: chromium:1160961 Change-Id: Ifc4c6e4e05a394a6f27572877abb765d02fd23ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640478Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#72216}
-
Ross McIlroy authored
Previously ShouldHaveBeenSerialized() would return false for kPossiblyBackgroundSerializedHeapObject objects which prevented checks for whether the correct serialization had been done before accessing Map::prototype() for these ObjectRefs. BUG=chromium:1168435,v8:7790,v8:9684 Change-Id: I31b4cf7c7ce67ba1c46aea1451172b279d215508 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640479 Auto-Submit: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#72215}
-
Dan Elphick authored
Adds v8config.h include before using V8_USE_PERFETTO to fix build errors when v8_generate_external_defines_header and v8_use_perfetto are both enabled. Bug: v8:11292 Change-Id: I4ea5fd39ca7eaaa5ad64b532d26df7933da41659 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640480Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#72214}
-
Hao Xu authored
This will places builtins in .text$hot code section that is generated by native compiler PGO Change-Id: I9e66eea99fc9b25cda9d9a9d1f57a0cd43d3a924 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2628595 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#72213}
-
Jakob Gruber authored
This was previously removed in https://chromium-review.googlesource.com/c/v8/v8/+/946129. Given that test/mjsunit/compiler/regress-817225.js no longer reproduces, and that the original CL removed only one occurrence of this common pattern, it's not clear that it fixes anything. Bug: v8:7519 Change-Id: I973a581e1e6cdea5ba2ff31364bd6701602fc8d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2637854 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#72212}
-
Jakob Gruber authored
The `parameters` attached to FrameState nodes are often iterated s.t. the receiver (implicitly at index 0), and potentially some leading parameters, are skipped. The new convenience functions `begin_without_receiver` and `begin_without_receiver_and_skip` make this pattern more convenient. Bug: chromium:1166136 Change-Id: Ic2bc7319edf9b8567346788dfaebd8852672a703 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2637221 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#72211}
-
Shu-yu Guo authored
The compatibility fixes have been standardized. Bug: chromium:581577 Change-Id: I4ab1df59cbcb4bcbcfe9e3a3c658b2d6b81fe68e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2633539Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#72210}
-
Bill Budge authored
This is a reland of 1694925c Minor fix to linkage for constexpr. TBR=ahaas@chromium.org,neis@chromium.org Original change's description: > Reland "[compiler][wasm] Align Frame slots to value size" > > This is a reland of cddaf66c > > Original change's description: > > [compiler][wasm] Align Frame slots to value size > > > > - Adds an AlignedSlotAllocator class and tests, to unify slot > > allocation. This attempts to use alignment holes for smaller > > values. > > - Reworks Frame to use the new allocator for stack slots. > > - Reworks LinkageAllocator to use the new allocator for stack > > slots and for ARMv7 FP register aliasing. > > - Fixes the RegisterAllocator to align spill slots. > > - Fixes InstructionSelector to align spill slots. > > > > Bug: v8:9198 > > > > Change-Id: Ida148db428be89ef95de748ec5fc0e7b0358f523 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2512840 > > Commit-Queue: Bill Budge <bbudge@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#71644} > > Bug: v8:9198 > Change-Id: Ib91fa6746370c38496706341e12d05c7bf999389 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2633390 > Commit-Queue: Bill Budge <bbudge@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72195} Bug: v8:9198 Change-Id: I91e02b823af8ec925dacf075388fb22e3eeb3384 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640890Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#72209}
-
- 20 Jan, 2021 30 commits
-
-
Ng Zhi An authored
Add interpreter implementation and tests. Bug: v8:11265 Change-Id: Iddb33f2d2fe0badc0a5ee4a950a65b4caf5d289f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2636846Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72208}
-
Gus Caplan authored
Adds a `data` field to `v8::FastApiCallbackOptions`. Bug: chromium:1052746 Change-Id: I0c4ac1a0ea1191e90d3bbc041aec5d8d860d7057 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2603925 Commit-Queue: Gus Caplan <snek@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#72207}
-
Liviu Rau authored
Bug: v8:11333 Change-Id: I0de067b0c23591c95c1454b9a17872ad28e0c98d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639956Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Liviu Rau <liviurau@chromium.org> Cr-Commit-Position: refs/heads/master@{#72206}
-
Victor Gomes authored
After removing the arguments adaptor frame, there is no more any distinction between kArchTailCallCodeObjectFromJSFunction and kArchTailCallCodeObject. Change-Id: Iebb374726b576b8e089425f989bb2da9d5ace4db Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639761 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#72205}
-
Ulan Degenbaev authored
Currently background thread cannot allocate embedder objects and checking the embedder heap size is not thread-safe. For simplicity, we can skip the check until concurrent allocation of embedder objects is supported. Bug: chromium:1162744, chromium:1160097 Change-Id: I47d6299e77b986e4b2cb8da841e0149ef577918a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640477Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#72204}
-
Simon Zünd authored
The V8 inspector is using the DebugPropertyIterator (a debug only interface) while building RemoteObjects. The DebugPropertyIterator uses the `KeyAccumulator::GetKeys` for this, which can potentially throw, but the DebugPropertyIterator ignores exceptions and keeps iterating. If multiple iteration steps throw an exception (e.g. due to a pending stack overflow), we run into a CHECK in Isolate::Throw, as we can't throw exceptions while another exception is still pending. This CL fixes the CHECK crash by properly propagating exceptions after the iterator is created or advanced and returning early in the inspector if an exception happens. Please note that the regression test that showcases this behavior is still disabled, as fixing the crash causes currently an endless loop. While the exception in `ValueMirror::getProperties` is handled by early returing, we still need to forward it as the result of the `Runtime::evaluate` all the way up the stack. R=bmeurer@chromium.org, yangguo@chromium.org Bug: chromium:1080638 Change-Id: I1d55e0d70490a06a6bc1b0a3525236411da7f64b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639954Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#72203}
-
Clemens Backes authored
This reverts commit d1da9694. Reason for revert: Compile error on msvc: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Win64%20-%20msvc/16456/overview Original change's description: > [build] Enable external flag header by default > > Turns on v8_generate_external_defines_header. > > Bug: v8:11292 > Change-Id: I4b1d9b47390b560b7cbf677948310694d8b03367 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2610966 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Dan Elphick <delphick@chromium.org> > Auto-Submit: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72201} TBR=rmcilroy@chromium.org,delphick@chromium.org Change-Id: Ia0005704b9e3b33acc73c088d287e66a99360423 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:11292 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640418Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72202}
-
Dan Elphick authored
Turns on v8_generate_external_defines_header. Bug: v8:11292 Change-Id: I4b1d9b47390b560b7cbf677948310694d8b03367 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2610966Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#72201}
-
Clemens Backes authored
This CL makes {CompilationState::WaitForTopTierFinished} reuse the logic in {CompilationStateImpl::WaitForCompilationEvent}. In order to support that new use case better, the latter is improved by 1. stopping compilation (in that one thread) as soon as the event has been seen, and 2. also executing top-tier units if needed. R=ahaas@chromium.org Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng Change-Id: Ia20f54c195ba8670b10fc6790db28af04e8f40b0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2637862 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#72200}
-
Andreas Haas authored
The write barrier for storing a reference to an object requires the destination offset as a parameter. The existing code only passed the immediate offset, however, not the offset provided through a register. With this CL, the correct offset is provided. R=thibaudm@chromium.org Bug: v8:7581 Change-Id: I3ab3cf41150b8f852839c1956be2fec677f68894 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640473Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#72199}
-
Jakob Gruber authored
Move index constants into the wrapper, add getters, and use the wrapper in more spots. Bug: v8:1166136 Change-Id: I3f37a541482fd6b7c604719c759952a72d58bad2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2637218 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#72198}
-
Clemens Backes authored
This reverts commit 1694925c. Reason for revert: Link error in CFI release build: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Clusterfuzz%20Linux64%20CFI%20-%20release%20builder/19756/overview Original change's description: > Reland "[compiler][wasm] Align Frame slots to value size" > > This is a reland of cddaf66c > > Original change's description: > > [compiler][wasm] Align Frame slots to value size > > > > - Adds an AlignedSlotAllocator class and tests, to unify slot > > allocation. This attempts to use alignment holes for smaller > > values. > > - Reworks Frame to use the new allocator for stack slots. > > - Reworks LinkageAllocator to use the new allocator for stack > > slots and for ARMv7 FP register aliasing. > > - Fixes the RegisterAllocator to align spill slots. > > - Fixes InstructionSelector to align spill slots. > > > > Bug: v8:9198 > > > > Change-Id: Ida148db428be89ef95de748ec5fc0e7b0358f523 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2512840 > > Commit-Queue: Bill Budge <bbudge@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#71644} > > Bug: v8:9198 > Change-Id: Ib91fa6746370c38496706341e12d05c7bf999389 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2633390 > Commit-Queue: Bill Budge <bbudge@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72195} TBR=bbudge@chromium.org,neis@chromium.org,ahaas@chromium.org Change-Id: Ic94763925195c3a3552930e61a0eb0b7f0c0c756 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9198 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640474Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72197}
-
Clemens Backes authored
This was disabled previously because the number of queues could not grow above a predefined limit. Now that this is fixed, we can contribute to compilation again instead of just waiting for recompilation to finish (which might never happen if there are no background threads). R=thibaudm@chromium.org Change-Id: Ia0567bc8872246efb20ae8aaf96f9d689fca1c49 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2637863Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72196}
-
Bill Budge authored
This is a reland of cddaf66c Original change's description: > [compiler][wasm] Align Frame slots to value size > > - Adds an AlignedSlotAllocator class and tests, to unify slot > allocation. This attempts to use alignment holes for smaller > values. > - Reworks Frame to use the new allocator for stack slots. > - Reworks LinkageAllocator to use the new allocator for stack > slots and for ARMv7 FP register aliasing. > - Fixes the RegisterAllocator to align spill slots. > - Fixes InstructionSelector to align spill slots. > > Bug: v8:9198 > > Change-Id: Ida148db428be89ef95de748ec5fc0e7b0358f523 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2512840 > Commit-Queue: Bill Budge <bbudge@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71644} Bug: v8:9198 Change-Id: Ib91fa6746370c38496706341e12d05c7bf999389 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2633390 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#72195}
-
Andreas Haas authored
The write barrier for storing a reference to an object requires the destination offset as a parameter. The existing code only passed the immediate offset, however, not the offset provided through a register. With this CL, the correct offset is provided. R=thibaudm@chromium.org Bug: v8:7581 Change-Id: Ia2a1d90d822988a3ef0c27ce8227f28f0226c937 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639766Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#72194}
-
Peter Marshall authored
DevTools can't unambiguously determine whether code is JS or wasm. This CL adds a string to the tracing output that will be 'JS', 'wasm' or 'other'. Bug: chromium:1168052 Change-Id: Iaacb5ea9a83327e22d60bf6114f607e6fa5532ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2637859 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72193}
-
Dan Elphick authored
While clang++ doesn't mind, g++ complains about apostrophes in #error messages as they appear to be unterminated single-quoted literals. So add surrounding double-quotes. Bug: v8:11292 Change-Id: Ib263cb20c73650348599992186a0e7de11b1b306 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639763 Auto-Submit: Dan Elphick <delphick@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#72192}
-
Paolo Severini authored
The inlining of JS-to-Wasm wrappers can fail inside try/catch because the IR built by WasmWrapperGraphBuilder::BuildJSToWasmWrapper does not always set the correct control outputs in the call node. This patch disables inlining inside try/catch to work around this issue. Bug: chromium:1168386 Change-Id: I1b43bdb044b38d95c2d309290e228a86ba1513a3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639927Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#72191}
-
Jakob Gruber authored
The bytecode offset (previously 'bailout id') was referred to as 'ast id', 'node id', 'bailout id' in different spots. And 'bailout id' was used to refer to deoptimization exits. This CL makes used terms more consistent. Bug: v8:11332 Change-Id: I2b34c7d4ebf465939e18fdfba675d83852f2430a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639756 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#72190}
-
Jakob Gruber authored
This reflects the actual contents of the type, which is an offset into the bytecode (or certain marker values). Historically, in the days of FCG the bailout id used to refer to node ids - this is why certain tracing output still calls the bailout id 'node id' and 'ast id'. These spots will be fixed in a follow-up CL. This change is mechanical: git grep -l BailoutId | while read f; do \ sed -i 's/BailoutId/BytecodeOffset/g' $f; done With a manual component of updating the DeoptimizationData method name from 'BytecodeOffset' to 'GetBytecodeOffset'. Bug: v8:11332 Change-Id: I956b947a480bf52263159c0eb1e895360bcbe6d2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639754 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#72189}
-
Victor Gomes authored
Change-Id: Ia05a7bfcb56984658d4448c7d52150dfbadd0660 Bug: v8:11312 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639953Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#72188}
-
Seth Brenith authored
This change adds Torque field definitions for ScopeInfo and begins to use the Torque-generated accessors in some places. It does not change the in-memory layout of ScopeInfo. Torque compiler changes: - Fix an issue where the parser created constexpr types for classes based on the class name rather than the `generates` clause. This meant that generated accessors referred to the imaginary type HashTable rather than the real C++ type FixedArray. - Don't pass Isolate* through the generated runtime functions that implement Torque macros. Maybe we'll need it eventually, but we don't right now and it complicates a lot of things. - Don't emit `kSomeFieldOffset` if some_field has an unknown offset. Instead, emit a member function `SomeFieldOffset()` which fetches the slice for some_field and returns its offset. - Emit an `AllocatedSize()` member function for classes which have complex length expressions. It fetches the slice for the last field and performs the multiply&add to compute the total object size. - Emit field accessors for fields with complex length expressions, using the new offset functions. - Fix a few minor bugs where Torque can write uncompilable code. With this change, most code still treats ScopeInfo like a FixedArray, so I would like to follow up with some additional changes: 1. Generate a GC visitor for ScopeInfo and use it 2. Generate accessors for struct-typed fields (indexed or otherwise), and use them 3. Get rid of the FixedArray-style get and set accessors; use TaggedField::load and similar instead 4. Inherit from HeapObject rather than FixedArrayBase to remove the unnecessary `length` field After that, there will only be one ugly part left: initialization. I think it's possible to generate a factory function that takes a bunch of iterator parameters and returns a fully-formed, verifiably correct ScopeInfo instance, but doing so is more complicated than the four mostly-mechanical changes listed above. Bug: v8:7793 Change-Id: I55fcfe9189e4d1613c68d49e378da5dc02597b36 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2357758Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#72187}
-
Camillo Bruni authored
Doing a function call into the logger to decide whether logging is enabled or not is more costly than necessary. This CL changes logging to take FLAG_log as main signal whether logging could be active. If FLAG_log == false, logging cannot be active. In that case we always call into the logger and perform detailed checks there. This CL changes flag-definitions to set FLAG_log if they need logging. Change-Id: Ia51ed9fb7128451bf1dcf345fab257547aab4a47 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2602461Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#72186}
-
Victor Gomes authored
Without the adaptor frame, this is dead code. Change-Id: Ica1ee102fcc068a58c5dcbca6122921cd1b5550a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639760Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#72185}
-
Liviu Rau authored
Bug: chromium:1064551 Change-Id: I81935d9bfe7b779f6f33ae8afa54f5b86c6bd74e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2637224Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Liviu Rau <liviurau@chromium.org> Cr-Commit-Position: refs/heads/master@{#72184}
-
Jakob Gruber authored
This is a reland of 8703c38d The reland marks the new test as slow, skips all variants, and skips all non-release modes. Original change's description: > [compiler] Emit a function-entry stack check on OSR-entry > > This CL extends the smarter function-entry stack check logic (see > v8:9534) to OSR'd code. These smarter stack checks prevent > overflowing the stack during deoptimization. > > The challenge for both function-entry (FE) and OSR-entry (OE) stack > checks is that there is no dedicated physical StackCheck to > deoptimize into. For more context: the physical StackCheck bytecode > was removed in crrev.com/c/1914218. > > FE stack checks solve this by using a marker bailout id to signify > a deopt bytecode offset before the first bytecode. > > In this CL, OE stack checks take a similar approach by using the > OSR'd loop's JumpLoop bytecode, which is conceptually immediately > before the OSR'd loop header. > > When a stack overflow at an OE stack check occurs: %StackGuard > may cause a lazy deopt on return to the optimized OSR code, > causing re-execution of the JumpLoop handler in the > InterpreterEnterBytecodeAdvance builtin, ultimately continuing > execution the interpreter at the first bytecode of the OSR'd loop > header. > > Bug: chromium:1034322, v8:9534 > Change-Id: I1ae88a08702cde9a5eb84a451a9f1acc41204d5c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2625872 > Auto-Submit: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72153} Tbr: neis@chromium.org, solanes@chromium.org Bug: chromium:1034322 Bug: v8:9534 Change-Id: I28a23d0cc4b14d59c3d4a5dbadd5dab3ac31d442 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639753Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#72183}
-
Maya Lekova authored
This reverts commit a8451683. Reason for revert: Breaks TSAN builds and closes the tree, see https://bugs.chromium.org/p/v8/issues/detail?id=11333 Original change's description: > Update V8 DEPS. > > Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/43dd249..781f002 > > Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/cf567b6..d168442 > > Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/dabd965..c3c15a1 > > Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/ba4ee03..683dad6 > > TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com > > Change-Id: I8c66185943738477e595672ba7d9efa243d062d3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2638915 > Reviewed-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@{#72181} TBR=machenbach@chromium.org,v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: If5905806b9cd0c8e033df8554edd9e01bca29e30 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639755Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#72182}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/43dd249..781f002 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/cf567b6..d168442 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/dabd965..c3c15a1 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/ba4ee03..683dad6 TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: I8c66185943738477e595672ba7d9efa243d062d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2638915Reviewed-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@{#72181}
-
Zhi An Ng authored
The codegen for q15 rounding mul and dot incorrectly assumes that the second operand is always a register. For dot, we change the codegen to accept an Operand. For q15, we change the instruction-selector to always use register. Bug: v8:10971,v8:10993 Change-Id: I30a421de47ba61693ca73e616bcbc27ab01ac7bc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2626712Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72180}
-
Zhi An Ng authored
Prototype load lane instructions on ia32 Liftoff. We generalize the pinsr* macro-assembler functions to take an extra input, following the 3 operand + 1 imm form of the AVX instructions. Bug: v8:10975 Change-Id: I3fa10d149b011b62edd58372148446b663f3dc3c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2619417Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72179}
-
- 19 Jan, 2021 2 commits
-
-
Zhi An Ng authored
Bug: v8:10971 Change-Id: Ie2409df6909d3be40f998445ae9c9b35c96ef3a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2632012Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72178}
-
Zhi An Ng authored
This instruction has been merged into the proposal: https://github.com/WebAssembly/simd/pull/365 Bug: v8:10971 Change-Id: I4dcad343a99271e1af4a48497e9f4ecc20785dcf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2632011Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72177}
-