- 09 Sep, 2020 3 commits
-
-
Leszek Swirski authored
Now that we have forward references, we can replace the body deferring mechanism with forward references to the entire pointer. This ensures that objects are always deserialized with their contents (aside from themselves maybe holding forward refs), and as a result we can simplify the CanBeDeferred conditions which encode the constraint that some objects either need immediately have contents, or cannot be deferred because their fields are changed temporarily (e.g. backing store refs). This also means that objects with length fields (e.g. arrays) will always have those length fields deserialized when the object is deserialized, which was not the case when the body could be deferred. This helps us in the plan to make GC possible during deserialization. Bug: v8:10815 Change-Id: Ib0e5399b9de6027765691e8cb47410a2ccc15485 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390643Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69760}
-
Martin Bidlingmaier authored
Previously to this commit only quantifiers of the form /<x>*/, i.e. arbitrarily often greedy repetition, were implemented. Now a much larger class is supported, e.g. + and ? and their non-greedy variants. Because it came up repeatedly during the implementation, the commit also adds the Label and DeferredLabel classes to patch JMP and FORK target addresses more easily. Still not supported are the following quantifiers: - Possessive quantifiers, where I'm not entirely sure whether they could be implemented in principle. Re2 doesn't support them. - Quantifiers with large but finite numbers for min and max numbers of repetitions, as in e.g. /<x>{9000, 90000}/. These are currently limited to some small value. This is because the body of such repetitions is unrolled explicitly, so the size of the bytecode is linear in the number of repetitions. Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Bug: v8:10765 Change-Id: Id04d893252588abb0f80c3cb33cfc707f6601ea0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387575 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69759}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/2dc8141..9c1d422 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/69e45dc..dc9083e Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/9218ba2..fb6d901 Rolling v8/third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/aec16ef..898c6c0 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/03bacc3..97d6ab3 TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: I3ce0abf36f3641e948f57e37a3f6f7f9cb45836b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398861Reviewed-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@{#69758}
-
- 08 Sep, 2020 32 commits
-
-
Ng Zhi An authored
Add in f64x2 opcodes to simd scalar lowering, this allows us to enable most of the f64x2 test cases with quite little changes - the significant change is to make sure the comparisons return a Int64 node. Bug: v8:10507 Change-Id: I8c8920d37c0cd0841dafcdb0310b6340b3c16189 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2399051Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69757}
-
Ng Zhi An authored
SIMD lowering can result in int64 nodes (from i64x2), and int64 nodes won't create SIMD nodes. So run SIMD lowering first, then int64 lowering. Bug: v8:10507 Change-Id: Id720d98eda0bcd9ab441df687f974fd84bf9118c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2393497Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69756}
-
Ng Zhi An authored
v128.const was incorrectly always lowered to 4 word32 nodes, regardless of what the lowered type was set to be. In the test case, v128.const was consumed by i8x16.eq, so the lowered typed of v128.const node was set to SimdType::kInt8x16, but it was still lowered as a SimdType::kInt32x4, and then later crashes when lowering the comparisons. Bug: v8:10507 Change-Id: I24f16c94968cd8b6c7cd5d400d1a0046da3d47da Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391919 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69755}
-
Andreas Haas authored
This reverts commit 10348e8e. Reason for revert: https://crbug.com/1125951 Original change's description: > [wasm][liftoff] Emit safepoints for externref values on the stack > > With this CL we emit safepoint maps for externref values on the Liftoff > value stack. With that there is support for externref parameters and > locals in Liftoff, as well as for intermediate values of type > externref. > > R=thibaudm@chromium.org > > Bug: v8:7581 > Change-Id: I2df0a8d00b2da33fe06ff474b039cca4c7be726d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387571 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69725} TBR=ahaas@chromium.org,thibaudm@chromium.org Change-Id: I4cdf7fedfc91cd99302d5cb05e242dbb032c5803 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7581 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398529Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69754}
-
Peter Kvitek authored
The original Profiler.getRuntimeCallStats implementation retrieved a bunch of V8 Counters instead of runtime call counters. This functionality is now available through the new APIs: enableCounters, disableCounters and getCounters. The getRuntimeCallStats API now retrieves real V8 Runtime Call Stats. Change-Id: I702f60a6c43773f5c41b6861be3f9435975c370f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2380853 Commit-Queue: Peter Kvitek <kvitekp@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#69753}
-
Seth Brenith authored
When counting which backedges conflict with a loop-top phi value, we should include values introduced at the start of the loop. I don't expect this change to make performance differences on its own, but it is a step toward changing the heuristic so that we're less likely to introduce unnecessary load/store pairs across the backedge. Bug: v8:10606 Change-Id: I299e388b0b964573119ba0b775d50f398c467c46 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2385715Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#69752}
-
Ng Zhi An authored
We need to also check SIMD support for v128.const and i8x16.shuffle, these are separate functions, not part of the SimdOp or SimdLaneOp. This was discovered while running some JS tests when trying to stage SIMD. Bug: v8:10835 Change-Id: I51c6e65cc9397058e0be83cf4116ab4bfe4c4ec9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391332Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69751}
-
Milad Farazmand authored
Port 3d40ec8d R=marja@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I978aa3a15e9c71e1907f49a5b22b6a01a96c5f1e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2399038Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#69750}
-
Leszek Swirski authored
Change FeedbackVector into a Torque-generated class, simplifying its C++ implementation. As a drive-by, also get rid of the lower-cased, integer-indexed slot accessors, and replace the calls that needed this integer index with FeedbackSlot (potentially with a new WithOffset adjustment for extra data slots). Change-Id: Ie4f7e99b462ef95419edab46b4ac7ceecae9a05f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398638 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69749}
-
Shu-yu Guo authored
This reverts commit 9e8c54f8. Reason for revert: Data races (https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/33100) Original change's description: > [Heap] ScavengerCollector use Jobs. > > No yielding is necessary since the main thread Join()s. > > max concurrency is determined based on either > remaining_memory_chunks_ or global pool size > (copied_list_ + promotion_list_) > > Change-Id: Ie30fa86c44d3224b04df5d79569bce126ce7d96b > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354390 > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69746} TBR=ulan@chromium.org,etiennep@chromium.org Change-Id: I206397c6086cf18d5e08cf615bdaaf0f34c6d36b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398852Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#69748}
-
Milad Farazmand authored
Port 10348e8e Original Commit Message: With this CL we emit safepoint maps for externref values on the Liftoff value stack. With that there is support for externref parameters and locals in Liftoff, as well as for intermediate values of type externref. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I369c0e2e7fb1c4681101a149b01e1a9580051d45 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398845Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#69747}
-
Etienne Pierre-doray authored
No yielding is necessary since the main thread Join()s. max concurrency is determined based on either remaining_memory_chunks_ or global pool size (copied_list_ + promotion_list_) Change-Id: Ie30fa86c44d3224b04df5d79569bce126ce7d96b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354390 Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69746}
-
Gus Caplan authored
Bug: v8:9891 Change-Id: I04a1eaedc1e3e012a4779671025c8b71d1c6a56e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391909 Commit-Queue: Gus Caplan <snek@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69745}
-
Sathya Gunasekaran authored
This reverts commit e43ec59b. Reason for revert: https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8869719317069732832/+/steps/Check_-_d8/0/logs/externref-globals-liftoff/0 Original change's description: > [wasm][liftoff] Support for most externref globals > > With this CL we add support for all externref globals except for > imported mutable globals. > > R=thibaudm@chromium.org > > Bug: v8:7581 > Change-Id: I63cb26f8ad6f4b8fc1c276e223c5d45745122ebf > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396086 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69741} TBR=ahaas@chromium.org,thibaudm@chromium.org Change-Id: I19d191862aa91a116ea84a4a59a3a0a8036fcb49 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7581 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398643 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69744}
-
Santiago Aboy Solanes authored
Bug: v8:7790 Change-Id: I0194178cd73715b2a7e229dd7ce52a67c2280881 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2382312 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#69743}
-
Santiago Aboy Solanes authored
Original CL by neis@: http://crrev.com/c/v8/v8/+/2362693/1 Bug: v8:7790, v8:10853 Fixed: v8:10853 Change-Id: If0bd45e9dfb00f8ef1a358953dab1f5e1c9ae29e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387960Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69742}
-
Andreas Haas authored
With this CL we add support for all externref globals except for imported mutable globals. R=thibaudm@chromium.org Bug: v8:7581 Change-Id: I63cb26f8ad6f4b8fc1c276e223c5d45745122ebf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396086 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69741}
-
Andreas Haas authored
The wasm interpreter is slow on an arm simulator build with asan when it comes to return calls. An infinite return-call recursion therefore caused a timeout on ClusterFuzz. With this CL we increase the costs of return calls, and thereby avoid the timeout. R=clemensb@chromium.org Bug: chromium:1124899 Change-Id: If88e060779fbe2569e289e60170cf487dd31d7db Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2397615Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69740}
-
evih authored
The parameters should be processed and evaluated in an increasing order (starting with the 1st param). Before we started with the last (n-th) parameter which was not correct. Bug: v8:10701, chromium:1124940 Change-Id: I8e0d8b1f0c53832c8f2d09551879c1a4413e1598 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396085Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Eva Herencsárová <evih@google.com> Cr-Commit-Position: refs/heads/master@{#69739}
-
Zhao Jiazhong authored
Port a2fd94f0 https://crrev.com/c/2312783 Original Commit Message: This adds the argument count (as intptr) to the standard frame. StandardFrames are now in the same shape as OptimizedFrames. The argument count in the stack will be used to tear down the arguments when we remove the arguments adaptor frame. Change-Id: I5cff9874735c1bdbd685deb0d829e57f1ee07ac2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2393323Reviewed-by: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#69738}
-
Santiago Aboy Solanes authored
It does a direct access iff the FLAG_turbo_direct_heap_access is enabled. Otherwise, it uses the Data classes as it did before. Bug: v8:7790 Change-Id: I4f42e5734fdb2c91dbe9ef08869aec621c9d04c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2382311 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#69737}
-
Martin Bidlingmaier authored
Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Bug: v8:10765 Change-Id: I9e23fb5ba8a21aa1ddf96ab7936058f671bcc9ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2397895 Commit-Queue: Martin Bidlingmaier <mbid@google.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69736}
-
Marja Hölttä authored
Bug: v8:9237 Change-Id: I06d7e74ba0360334e6fa65c19f24548e220e4c69 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349297 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69735}
-
Z Nguyen-Huu authored
Cast resource field in ExternalString as v8: :String::ExternalStringResourceBase* would give us more info. Change-Id: Iae97b477f400f58365e2381b7230d2226d490aa7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2388742 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#69734}
-
Martin Bidlingmaier authored
Sometimes the parser throws away redundant parts of the AST while parsing. For example, the regexp /(?:(?=(f)o))?f/ is (almost) equivalent to just /f/ because the optional block (...)? is zero-length. The parser notices this and returns the same tree as for /f/. However, there is a capture inside the (...)? block (which is never recorded because the quantifier containing it can only match zero-width, which is considered failure), so in this case it doesn't suffice to check that the regexp AST doesn't contain captures. Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Bug: v8:10765 Change-Id: I6145849d95b3522a397eadd2bae63d1d8e880f28 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2397896Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Martin Bidlingmaier <mbid@google.com> Cr-Commit-Position: refs/heads/master@{#69733}
-
Sathya Gunasekaran authored
TBR: solanes@chromium.org Bug: v8:10876 Change-Id: Ifd00704ea6328c0f470a2e33f37fb7a7e423435a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2397897Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69732}
-
Thibaud Michaud authored
When the top frame is paused at a breakpoint, and this breakpoint is being removed or was already removed, introduce a "dead breakpoint" in the new code. This ensures that: - The source position for the new frame is correct, otherwise it would just pick the source position of the previous call, - The offset between the source position and return address is the same in the new and old code, which is necessary for OSR to find the correct return address. R=clemensb@chromium.org Bug: v8:10337 Change-Id: I400886ff14846d3973d0634592c05960c05de738 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2377686 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69731}
-
Mythri A authored
An earlier cl: https://chromium-review.googlesource.com/c/v8/v8/+/2354810 fixed loading double fields with dynamic map checks. The fix however didn't update the expected type information to also expect Smi fields. So, in the later optimization phases the CheckHeapObject operation was reduced to a NoP since the expected type was a HeapObject. This cl fixes the bug by updating the type to Type::Any. Bug: chromium:1124696, v8:10582 Change-Id: Ic96dd74c97caf8eaf5289d8e8939f6feb1686a57 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396088 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69730}
-
Dan Elphick authored
The GetReadOnlyRoots will need to remain on HeapObject due to pointer compression and the Isolate overload of HashSeed is convenient. Change-Id: Id7fa8e57e3b8bfa6f50465c24da1fc5d0b4db0bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2397889 Commit-Queue: Dan Elphick <delphick@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#69729}
-
Jakob Gruber authored
These flags are later packed into an InstructionCode by the instruction selector, but not all bits are preserved. This CL adds a few assertions and helper methods to clarify and make this a bit safer. Bug: v8:8888 Change-Id: I01adc9f7887cc21c623d790dc204ac1d4b9bc7ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2388116 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#69728}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/fc95b89..2dc8141 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/8584a9d..69e45dc Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/a070dd1..9218ba2 TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: Icccb92296366c45ff1a1a1b33a6310504465861f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2397199Reviewed-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@{#69727}
-
Yolanda Chen authored
The current implementation in AssembleSwap will generate a push-pop pair to swap between a general register and a stack slot for both x64 and ia32 targets. This is unnecessary for x64 target, as we can use the kScratchRegister to save the general register and swap with the stack slot. Change-Id: I10e0dc360dec22cdf5afa63ece3d5943685d7ecb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2394177Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Yolanda Chen <yolanda.chen@intel.com> Cr-Commit-Position: refs/heads/master@{#69726}
-
- 07 Sep, 2020 5 commits
-
-
Andreas Haas authored
With this CL we emit safepoint maps for externref values on the Liftoff value stack. With that there is support for externref parameters and locals in Liftoff, as well as for intermediate values of type externref. R=thibaudm@chromium.org Bug: v8:7581 Change-Id: I2df0a8d00b2da33fe06ff474b039cca4c7be726d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387571 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69725}
-
Thibaud Michaud authored
When a WasmGCForegroundTask starts during runMessageLoopOnPause, the stack may contain Wasm code. In this case we need to scan the stack to report live code. This is already caught by some tests when RemoveBreakpoint is implemented correctly, which will be done in a separate CL, so no regression test is added here. R=clemensb@chromium.org Bug: v8:10337 Change-Id: I308145b9c2cf69f0100853be47ec9e30ce79a876 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2379510Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69724}
-
Clemens Backes authored
If we generate more code than allowed by the --wasm-max-code-space flag, the {WasmCodeManager::Commit} method will fail (via fatal error). The DCHECK that was placed before that call checked for a related condition though, and failed before the {Commit} method could fail. By moving it after the call, we fix this issue. Adding a test case for this seems to be involved, since that test would crash the whole process (because of the fatal error). So it would have to be a unittest such that we can use ASSERT_DEATH_IF_SUPPORTED. In unittests though we don't yet have the infrastructure to create a NativeModule (needed for the WasmCodeAllocator). Alternatively we could add special testing methods (and a constructor) to the WasmCodeAllocator, but I do not consider this worth the effort for this little fix. R=thibaudm@chromium.org Bug: chromium:1124646 Change-Id: Ief09dfbd0a5b0b040fe9cf8a34e458d1d01dfacc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390754 Auto-Submit: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69723}
-
Camillo Bruni authored
This avoids race conditions in certain situations detected by TSAN. Bug: v8:10644 Change-Id: Ic3082da4e918890940fcc1cabf0933b0419f41de Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396083 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#69722}
-
Camillo Bruni authored
memchr is used in the default case but for two-byte strings that contain mostly ascii sequences every other byte is 0. This CL special-cases the 0 byte search in a two-byte string to simply peform a simple for loop which is rouhly 10x faster than the repeated memchr approach. Bug: v8:10737 Change-Id: Icde6b858b6679da69448295616734c46aa95e439 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2364507Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#69721}
-