- 11 Sep, 2020 2 commits
-
-
Mythri A authored
We used to store MinimorphicPropertyAccessInfo indexed on the feedback slot id. This works fine when there is no inlining but returns the wrong access information when functions are inlined. Index it based on FeedbackSource to avoid these problems. Bug: v8:10582,chromium:1125871 Change-Id: Id01010f3153f7e21495d73899a8604a64417ae95 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401426 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69845}
-
Georg Neis authored
- serializer-*: In some stress configuration, the new map of x was GC'd at the beginning of optimization, thus generating a soft-deopt for the store to x (thus in turn skipping inlining of f). - native-context-*: In some stress configuration, f had its feedback flushed. Bug: v8:10892 Change-Id: Icd9f9c0ba6feb938ae8c3b0031b02b766f2e3f91 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404764 Commit-Queue: Georg Neis <neis@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69837}
-
- 10 Sep, 2020 6 commits
-
-
Camillo Bruni authored
Factor out common loop for copying MutableHeapNumbers in newly copied objects. Bug: v8:10763 Change-Id: I6cf2fc52c9ac72253dceaba518deacfde9905a9c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2402035 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69825}
-
Shu-yu Guo authored
This reverts commit 120eb388. Reason for revert: Maybe perturbed GC and caused optimization test to fail: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/33042? Original change's description: > Reland "[d8] Add d8 global variable" > > This is a reland of 6798619a > > Original change's description: > > [d8] Add d8 global variable > > > > - Add a a "d8" global variable where d8 can provide helpers. > > This in in preparation of adding d8.log for testing our log parsers > > written in JavaScript. > > > > - Separate d8 helper creation into individual functions. > > > > Bug: v8:1064 > > Change-Id: I84e434452463afb93ae403f890d8841b20b00703 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400990 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#69801} > > TBR=verwaest@chromium.org > > Bug: v8:1064 > Change-Id: I656d550b5ec87dc52dbe6cbbdddf7151ce25031f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403247 > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Mythri Alle <mythria@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69819} TBR=cbruni@chromium.org,mythria@chromium.org,verwaest@chromium.org Change-Id: If6df69e30b097c78eb0ff2676f5e5c219edfae5b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:1064 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404323Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#69823}
-
Camillo Bruni authored
This is a reland of 6798619a Original change's description: > [d8] Add d8 global variable > > - Add a a "d8" global variable where d8 can provide helpers. > This in in preparation of adding d8.log for testing our log parsers > written in JavaScript. > > - Separate d8 helper creation into individual functions. > > Bug: v8:1064 > Change-Id: I84e434452463afb93ae403f890d8841b20b00703 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400990 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69801} TBR=verwaest@chromium.org Bug: v8:1064 Change-Id: I656d550b5ec87dc52dbe6cbbdddf7151ce25031f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403247 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#69819}
-
Manos Koukoutos authored
Changes: - Add possibility to define and emit all reference types. - Simplify function locals definition. - Change 'type' to 'type_index' where appropiate. Bug: v8:7748 Change-Id: Ie35a6204369e678298ee2ff2ec7c7793c5315c3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390144 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69814}
-
Sathya Gunasekaran authored
TBR: machenbach@chromium.org Bug: v8:10894 Change-Id: Ie36e7cb3fe8e52478d96d24aab3517fbed29a817 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403250Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69810}
-
Georg Neis authored
My last CL introduced a null-pointer bug there. Bug: chromium:1126771, v8:7790 Change-Id: Ib16317dea14c9fbad7951cb28ce7bb8bb9ce41c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2402037 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by:
Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69799}
-
- 09 Sep, 2020 4 commits
-
-
Andreas Haas authored
The emitted safepoint entries had the wrong size, because it did not contain StandardFrameConstants::kFixedFrameSizeAboveFp. The code still worked because the indices of encoded in the entries where too low by StandardFrameConstants::kFixedFrameSizeAboveFp and thereby corrected the invalid size. It worked as follows: First the stack_slots_size gets calculated from the safepoint entry. Then the position of a stack slot was "frame_header_base + stack_slots_size - index * pointer_size", where "index" is what is encoded in the safepoint map. Because of the incorrect encoding, both stack_slot_size and index were too low by StandardFrameConstants::kFixedFrameSizeAboveFp. Therefore the errors in both values eliminated each other, making the end result correct. With --print-code, the safepoint entry size was also read, and it crashed because the encoded value was too low. The reland fixes the indices. Original 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=thibaudm@chromium.org Bug: v8:7581 Change-Id: I88444e57745d7b9fe8f1630e904d49736fa9d720 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398531 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69786}
-
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}
-
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}
-
- 08 Sep, 2020 6 commits
-
-
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}
-
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}
-
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}
-
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}
-
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}
-
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}
-
- 07 Sep, 2020 3 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}
-
Camillo Bruni authored
This reverts commit 95aa697b. Reason for revert: breaks under tsan 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} TBR=mlippautz@chromium.org,cbruni@chromium.org,gsathya@chromium.org,verwaest@chromium.org Change-Id: Iad47d2f1e3391cae3c2f8c9e6c904c43925e1671 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10644 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396080Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#69717}
-
Camillo Bruni authored
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}
-
- 03 Sep, 2020 2 commits
-
-
evih authored
The generic wrapper can be used for Wasm functions with int32 parameters and 0 or 1 int32 return values. Added tests for cases when the return value can & cannot be converted to a Smi. Bug: v8:10701 Change-Id: I470954ed0aced0e4ec6e65a9f38caac19c576549 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390141 Commit-Queue: Eva Herencsárová <evih@google.com> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69700}
-
Santiago Aboy Solanes authored
There is an int version that will be TNodified in a follow-up CL. Bug: v8:9708, v8:6949 Change-Id: I3a47cb352396dfe9dea426b6396216c06e0e3254 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387963 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#69695}
-
- 02 Sep, 2020 4 commits
-
-
Ng Zhi An authored
Due to the way SSE flags work, we need to enable all versions prior to SSE 4.1 as well. Bug: v8:10863 Change-Id: I50ddd3f486641e7bf22c651fc2c9a8a4ccbc2b46 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391325Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69687}
-
Ng Zhi An authored
With https://crrev.com/c/2389982 we are now forcing the sse flag in this test, so we no longer need the flag check. Keep it around for the other archs. The nosse41 condition will be removed from the test runner in the next patch. Bug: v8:10863 Change-Id: I7eacb21803e6cc810384d3e4881d2a965dc1ad69 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391320Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69684}
-
Martin Bidlingmaier authored
Previously we checked whether a thread's pc IsPcProcessed before pushing to the stack of (postponed) active_threads_. This commit moves the IsPcProcessed check and corresponding MarkPcProcessed call to when the thread is actually processed, i.e. when it is popped from the active_threads_ stack again. This fixes two issues: - Consider what used to happen in the following scenario: 1. An active thread t is postponed (e.g. because it is a fork) and pushed on active_threads_. IsPcProcessed(t.pc) is false, so t is not discarded and does actually end up on active_threads_. 2. Some other thread s is executed, and at some point s.pc == t.pc, i.e. t.pc is marked as processed. 3. t is popped from active_threads_ for processing. In 3 we don't want to continue execution of t: After all, its pc is already marked as processed. But because previously we only checked for IsPcProcessed in step 1 before pushing to active_threads_, we used to continue execution in 3. I don't think this is a correctness issue, but possibly a performance problem. In any case, this commit moves the IsPcProcessed check from 1 to 3 and so fixes this. - After flushing blocked_threads_, we push them to active_threads_ again. While doing so, we used to mark these thread's pcs as processed. This meant that sometimes a (fork of a) high priority thread was cancelled by the IsPcProcessed check even though its pc was only marked as processed by a thread with lower priority during flushing. We need it to be the other way round: The low priority thread should be cancelled after its pc is processed by a thread with higher priority. With this commit we don't MarkPcProcessed during flushing, it's postponed to when we're actually processing. This was a correctness issue, and there's a new corresponding test case. Bug: v8:10765 Change-Id: Ie12682cf3f8a04222d907edd8a3ad25baa69465a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2388112 Commit-Queue: Martin Bidlingmaier <mbid@google.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69668}
-
Michael Achenbach authored
The test is incompatible with --noenable-sse4-1, which is randomly added by numfuzz (and possibly other fuzzers). The "Flags" from the test files are always passed last and are often used to neuter incompatible flags. Bug: v8:10863 Change-Id: I8fd11b4d38586f25f5af63ab8ef83873dc250557 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2389982Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#69665}
-
- 01 Sep, 2020 3 commits
-
-
Arno Renevier authored
For TypedArray, a fast path is used when using the builtin iterator, and next method has not been overriden. If we use that fast path for JSArray too, the method will be about 200x times faster on a large array. This patch also fixes a bug when a typed array is modified during the mapper execution. In that case, the modification should not be taken into account. Bug: v8:10802 Change-Id: I74e2cbcd6a654def318585b4e08745037584669a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358749 Commit-Queue: Arnaud Renevier <arenevier@fb.com> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#69655}
-
Andreas Haas authored
With a recent change, we require WebAssembly code to be tiered up to serialize it, see https://crrev.com/c/2349290. In that CL tests were adjusted to set the --wasm-tier-up flag when serialization was involved. However, the test adjusted in this CL was missing, because this test used the kExprRefNull instruction, which caused a bailout to TurboFan anyways. With recent changes, Liftoff can compile kExprRefNull now, and therefore causes problems. R=thibaudm@chromium.org Bug: v8:10852 Change-Id: I9b89f37c22f17cbf046110f3ee1c98bfea73e009 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387574Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69648}
-
evih authored
The generic wrapper can be used for Wasm functions with int32 parameters and no return values. Changed the GC scanning for the generic wrapper. Added tests for cases when all the parameters of the Wasm function fit into registers and when some of the parameters are on the top of the stack. Change-Id: I511fd04d2a4a2bdc4a6f72d72e2867a03b256f6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2381459Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Eva Herencsárová <evih@google.com> Cr-Commit-Position: refs/heads/master@{#69645}
-
- 31 Aug, 2020 5 commits
-
-
Milad Farazmand authored
Port 524fa743 Original Commit Message: This regression test does not work on MIPS without SIMD since the scalar lowering is not complete yet. Skip it for now. R=zhin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I0338593de3160dc0864c066e607b6030956e3efa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2386141Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#69629}
-
Ng Zhi An authored
This regression test does not work on MIPS without SIMD since the scalar lowering is not complete yet. Skip it for now. Bug: v8:10831 Change-Id: Icc407488a96d4c965c1cf956f7a74abde078d421 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2385855Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69626}
-
Martin Bidlingmaier authored
This CL adds support for disjunctions and some quantification in EXPERIMENTAL regexp patterns. It is implemented using a new bytecode format and an NFA-based breadth-first interpreter. R=jgruber@chromium.org Bug: v8:10765 Change-Id: Idd49a3bbc9a9fcc2be80d822c9d84a638e53e777 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2370634 Commit-Queue: Martin Bidlingmaier <mbid@google.com> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69621}
-
Jakob Gruber authored
The graph assembler calls MergeControlToEnd as part of Unreachable node creation; this causes issues when used inside the GraphReducer framework, since the reducer is not notified by gasm that the end node should be revisited. The (hacky) fix in this CL is to always mark the end node for revisitation after a gasm reduction has taken place. Bug: v8:8888,chromium:1123379 Change-Id: I350bb7144add04a0c3fd7f3d88c07fcfe1cd42e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2384772 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#69619}
-
Jakob Kummerow authored
A recent unrelated change caused these tests to get unlucky in GC stress mode. Their "assertOptimized" expectations rely on certain type feedback data not getting flushed at the wrong time. Bug: v8:10846 Change-Id: I86d0b0c049539e4a69aa764cc6ec92465ca12beb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2381458Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69617}
-
- 28 Aug, 2020 2 commits
-
-
Ng Zhi An authored
For SIMD instructions that use aligned moves (like movaps or movapd), we don't have correct memory alignment for SIMD moves yet. Switch to to movupd. Bug: v8:9198 Bug: v8:10831 Change-Id: Ic60fba5d08dda9676f6091ce505ac7be54957d00 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2380240 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69613}
-
Clemens Backes authored
Those globals must have type float instead of int to preserve the sign bit. R=ahaas@chromium.org Bug: chromium:1069173 Change-Id: I9769f47f087aaba94a6172118be44f70adeded0c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2379861Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69609}
-
- 27 Aug, 2020 2 commits
-
-
Victor Gomes authored
Change-Id: I49dbd52b9019b1da94dfa91c73116e827ce74ca4 Bug: chromium:1120905, v8:10201 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2377689 Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#69592}
-
Arnaud Robin authored
In order to improve our tiering strategy, it is a good idea to start by tiering up functions that will be used the most, as this is done in most JavaScript engines. To decide which function requires tiering, we use as a basic strategy to define its compilation priority to 'func_size * number_of_calls', this roughly approximates the time we spend in the function. To handle prioritization, it seemed that using a concurrent priority queue similar to BigUnits was causing concurrencies issues. I then decided to use different priority queues for each worker thread. R=clemensb@chromium.org CC=thibaudm@chromium.org Bug: v8:10728 Change-Id: I6f314468549000b2a9b51d3d470f04a0cb997879 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2367859 Commit-Queue: Arnaud Robin <arobin@google.com> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69585}
-
- 26 Aug, 2020 1 commit
-
-
Victor Gomes authored
Change-Id: I31e205b696627913584016bb9197e1e719ca0237 Bug: chromium:1120905, v8:10201 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2375191 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69565}
-