- 09 Sep, 2020 24 commits
-
-
Maya Lekova authored
This reverts commit c99147c6. Reason for revert: Breaks UBSan - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/12773? Original change's description: > cppgc, heap: Don't eagerly allocate worklist segments > > Bug: chromium:1056170 > Change-Id: I75a6b5f52bfe8dd71abc086e5d1e060759ad7fc0 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391254 > Commit-Queue: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69778} TBR=ulan@chromium.org,mlippautz@chromium.org,omerkatz@chromium.org Change-Id: Icf1b1a333b5f1b683c816c65662207914996e325 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401422Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#69781}
-
Michael Lippautz authored
Adds a field that can be propagated by embedders. The field holds the detachedness state of DOM objects but can be used in general by embedder to indicate which objects are for sure part of interesting application logic and which objects are not. This field is then processed properly by the DevTools front end. Bug: chromium:1110816 Change-Id: I53a172208cd69ce2ba2ed9524d36b6512aae7d30 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2332174Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#69780}
-
Leszek Swirski authored
This is a reland of 81577a79 The revert was due to an missing dependency in the incremental build, fixed in https://crrev.com/c/2400987. Original change's description: > [serializer] Change deferring to use forward refs > > 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/+/2390643 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69760} Tbr: jgruber@chromium.org Bug: v8:10815 Change-Id: I235076a97c5dfa58513e880cc477ac72a28b29e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400992Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69779}
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: I75a6b5f52bfe8dd71abc086e5d1e060759ad7fc0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391254 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#69778}
-
Jakob Gruber authored
The %BytecodeBudgetInterruptFromCode call resets the interrupt budget; prior to this CL we'd overwrite the value immediately after returning from runtime, resulting in repeated runtime calls. Drive-by: Add the interrupt budget to FeedbackCell's debug print. Bug: v8:8888 Change-Id: I2c98b839b8630a9e14df3d8a724e03c5afbec687 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400991 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#69777}
-
Leszek Swirski authored
tools/debug_helper:run_mkgrokdump used to only depend on mkgrokdump. However, the snapshot can change without affecting the mkgrokdump binary itself. So, if the mkgrokdump binary doesn't change, then run_mkgrokdump doesn't run, even if the snapshot changed. This could cause mysterious test failures in incremental builds, in particular for tests testing the contents of heap-constants-gen.cc. Now, we make run_mkgrokdump depend on run_mksnapshot_default directly, so that snapshot updates force an mkgrokdump run. Change-Id: Ia3871e1b4fa15ec2dbc0bc5463afdb427cb39c61 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400987 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69776}
-
Georg Neis authored
1) Strengthen the ObjectData::As* cast methods to check that the kind is kSerializedHeapObject, because otherwise the data object is not a subclass instance and the cast is invalid. 2) Fix errors revealed by (1) and pave way for moving away from serialization. These changes are mechanical except for a needed refactoring of ContextRef::previous. Details regarding (2): Change (1) revealed a large number of places where we incorrectly casted object data. This went unnoticed so far because in the end we accessed the object through the corresponding ObjectRef interface which did the right thing depending on the data kind. These bugs were introduced when kUnserializedReadOnlyHeapObject was added, but they also affect the new kNeverSerializedHeapObject and would become show stoppers as we move more objects to the latter kind. The CL fixes all the issues that I found except one: There's still one place left where we assume a particular subclass instance for now (marked with a TODO). This is not a bug at the moment but will cause CHECK failures once we move the corresponding object type to never-serialized. A rewrite of map serialization might be needed to resolve that. Note: With the changes in (2) we lose some type safety in the implementation of the *Data classes. With some extra work that could be avoided. However, I think it's not worth it because (i) these classes are expected to be removed (and in the meantime to not change much), and (ii) their wrapper *Ref classes still ensure type safety. Bug: v8:7790 Change-Id: I9a5d03fa2f61e03c9c0ab4ac7f9869603d5be1d9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398537Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69775}
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: Ibf561b663c74f9448139fd99945e5f4aea26419b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390776 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#69774}
-
Sathya Gunasekaran authored
Bug: v8:10582 Change-Id: I89597bb31d1a0aa50672e8f579f5011da6be29e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400981Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69773}
-
Mythri A authored
Bug: v8:10582 Change-Id: I4f86af0a2a190a52885fea5cc42c9e9983372119 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398530Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#69772}
-
Gus Caplan authored
See crrev.com/c/2383030 PerformCheckCast<Data>() itself should not invoke Data::Cast(), since there is no such method and every publicly available value can be casted to it anyway. This is an issue in e.g. GetDataFromSnapshotOnce<Data>(). Change-Id: I4acbff86ffd4537b744dafc588733428e792b4bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2399052Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Gus Caplan <snek@chromium.org> Cr-Commit-Position: refs/heads/master@{#69771}
-
Sathya Gunasekaran authored
This reverts commit 23531d82. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/33007? Original change's description: > Reland "[test][d8] Add d8.log.getAndStop helper" > > This is a reland of 95aa697b > > Original change's description: > > [test][d8] Add d8.log.getAndStop helper > > > > The new helper function allows us to write tests for log parsing > > without the need to first generating a log file. This makes it easier > > to spot errors when the log format changes. > > > > - Add d8 global variable > > - Add file_name accessor to Logger and Log classes > > - Change OS::LogFileOpenMode to w+ / wb+ > > - Use separate Log::WriteLogHeader method > > - Remove unused logger_ instance variable from Log > > > > Bug: v8:10644 > > Change-Id: Ifc7e35aa4e91b3f01f0847843263946e085944c3 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387563 > > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#69715} > > Bug: v8:10644 > > TBR=verwaest@chromium.org > > Change-Id: I54741344834d88a376b74e2e3a2047e880a94624 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396081 > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69769} TBR=mlippautz@chromium.org,cbruni@chromium.org,gsathya@chromium.org,verwaest@chromium.org Change-Id: I493315e0d6498f0fa9bed3409725bb52d554b53a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10644 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400982Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69770}
-
Camillo Bruni authored
This is a reland of 95aa697b Original change's description: > [test][d8] Add d8.log.getAndStop helper > > The new helper function allows us to write tests for log parsing > without the need to first generating a log file. This makes it easier > to spot errors when the log format changes. > > - Add d8 global variable > - Add file_name accessor to Logger and Log classes > - Change OS::LogFileOpenMode to w+ / wb+ > - Use separate Log::WriteLogHeader method > - Remove unused logger_ instance variable from Log > > Bug: v8:10644 > Change-Id: Ifc7e35aa4e91b3f01f0847843263946e085944c3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387563 > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69715} Bug: v8:10644 TBR=verwaest@chromium.org Change-Id: I54741344834d88a376b74e2e3a2047e880a94624 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396081 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69769}
-
Victor Gomes authored
Change-Id: I0840a8fb34e8ef068580ad74e40e87c0bb56c1af Bug: v8:10201 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400278 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69768}
-
Omer Katz authored
This CL migrates cppgc to use Ulan's new worklist implementation. Since there is no central segments array anymore, we cannot rely on getting the same view (now renamed to Local) given the same task id. To avoid creating many short lived segments (e.g. for write barriers) marking state now holds local views for all worklists and provides access to them. Bug: chromium:1056170 Change-Id: Id19fe1196b79ed251810e91074046998dc2a9177 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390771 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#69767}
-
Sathya Gunasekaran authored
Flaky: https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8869650907931155856/+/steps/OptimizeForSize__flakes_/0/logs/pause-on-oom-wide/0 Bug: v8:10876 Change-Id: I3750dd049300cb9eed10a7d0952fac77066bbcb3 TBR: solanes@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400341 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69766}
-
Zhao Jiazhong authored
Port 3d40ec8d https://crrev.com/c/2349297 Change-Id: If362e7592ee81e1e428c4757c3ca03768ad366b4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398767Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#69765}
-
Martin Bidlingmaier authored
Follow up to 3f4f4a0d: "[regexp] Handle zero-length matches in experimental engine". We want to assert an equivalence, not an implication in the boring direction. Bug: v8:10765 Change-Id: Ia7b4851feb1f5f621d687779d0cae0e28433f00e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398536Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Martin Bidlingmaier <mbid@google.com> Cr-Commit-Position: refs/heads/master@{#69764}
-
Sathya Gunasekaran authored
This reverts commit 81577a79. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20shared/10544 Original change's description: > [serializer] Change deferring to use forward refs > > 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/+/2390643 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69760} TBR=jgruber@chromium.org,leszeks@chromium.org Change-Id: I7a93a59217a2b38e2157c0f7ffc7ac648590a8d6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10815 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398535Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69763}
-
Sathya Gunasekaran authored
This reverts commit 1c7618ab. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20shared/10544 Original change's description: > [serializer] Remove new space > > The new space is unused in the snapshot, as we convert all new objects > to old space objects when serializing. This means we can get rid of > the snapshot new space entirely, and as a result get rid of the write > barrier checks. > > This also rejiggles the order of the general spaces enum so that the new > spaces are at the end, and can be truncated off for the SnapshotSpace > enum. > > As a drive by, fix a bug in an unrelated test-api test which this patch > exposed. > > Change-Id: If67ff8be5bf03104a3ffae7df707c22460bba3a1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390762 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69761} TBR=jgruber@chromium.org,leszeks@chromium.org,dinfuehr@chromium.org Change-Id: Iaf2362d8cd3a17d8410030aca0dd2250c5a0a7af No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398533Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69762}
-
Leszek Swirski authored
The new space is unused in the snapshot, as we convert all new objects to old space objects when serializing. This means we can get rid of the snapshot new space entirely, and as a result get rid of the write barrier checks. This also rejiggles the order of the general spaces enum so that the new spaces are at the end, and can be truncated off for the SnapshotSpace enum. As a drive by, fix a bug in an unrelated test-api test which this patch exposed. Change-Id: If67ff8be5bf03104a3ffae7df707c22460bba3a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390762 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#69761}
-
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 16 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}
-