- 11 Aug, 2022 3 commits
-
-
ishell@chromium.org authored
Bug: v8:11880 Change-Id: Ic2dcf5f540fdd1c6c138d9535033b57d22afb1b6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3825885Reviewed-by:
Jakob Linke <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#82393}
-
Darius M authored
StringConstantXXX were introduced when we switched to concurrent compilation, as a way to build strings in Turbofan in a background thread, without having to actually allocate them on the main heap from the background. See https://crrev.com/c/1221807. Now that we have local heaps, we can actually allocate strings from the background, making StringConstantXXX useless. Moreover, we would fold constant string concatenations into ConsString, which sounds a bit dubious for performance. Now, small constant string concatenations will be folded into SeqStrings, while larger ones will remain ConsString, just to avoid the quadratic worst-case. Change-Id: I0479d16aa5691c9d774187c4cc0d03ff4fe2b4f9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3811291Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Darius Mercadier <dmercadier@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#82381}
-
Shu-yu Guo authored
This is a reland of commit b1020a43 Changes since revert: - Fixed global safepoint interrupts in https://chromium-review.googlesource.com/c/v8/v8/+/3820913 Original change's description: > Reland "[shared-struct] Add Atomics.Condition" > > This is a reland of commit e2066ff6 > > Changes since revert: > - Rebased against c9918524, which > uses the external pointer table for the WaiterQueueNode stored > in the state field when compressing pointers. This relaxes > the alignment requirement of the state field to be 4-bytes when > compressing pointers. > - Moved the state field into the JSSynchronizationPrimitive base > class, since alignment and padding can now be made simpler. > > Original change's description: > > [shared-struct] Add Atomics.Condition > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3630350 > > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > > Reviewed-by: Adam Klein <adamk@chromium.org> > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3763787 > Reviewed-by: Adam Klein <adamk@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Bug: v8:12547 Change-Id: Ibc6de74c7853e4ea766ff2c70f92339ba69f2675 Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_rel_ng,v8_linux64_tsan_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3820901Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#82368}
-
- 10 Aug, 2022 4 commits
-
-
Frank Tang authored
Change to use Handle<Object> instead of Handle<String> for calendar and offset_string. Spec text: https://tc39.es/proposal-temporal/#sec-temporal-torelativetemporalobject Bug: v8:11544 Change-Id: Ia9051f176e0e91a362b0c6b9edf6fea5a53ddcf2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3808256Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#82363}
-
ishell@chromium.org authored
... which will be necessary once builtins become Code-less. Bug: v8:11880 Change-Id: If48739c3a058e6baf3c2e062d8eaace062c27592 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3822686Reviewed-by:
Jakob Linke <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#82352}
-
Jakob Linke authored
ML-TF tiering remains very similar to Ignition-TF tiering: - When the interrupt budget is exhausted, enter the TieringManager which potentially decides to tier up and sets the appropriate TieringState on the FeedbackVector. - The prologue on ML function entry recognizes the TieringState (and also available cached TF code) and starts compilation and/or jumps into optimized code. TODOs: - ML-to-TF OSR is not yet supported. - ML code is no longer cached on the FeedbackVector. - Tracing is rudimentary. - The generated function-entry prologue is fairly large and must be either minimized or extracted into a builtin. - Tiering involving Sparkplug is not entirely robust yet (Sparkplug code may be installed with unexpected timing). Bug: v8:7700 Change-Id: I86b0692477f51b9967f318a4093bc874344120b3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3629149Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#82351}
-
jameslahm authored
Bug: v8:11525 Change-Id: I69c08f3cc4ee6b391e462a5d49de750f34bbc8cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3815487Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#82345}
-
- 09 Aug, 2022 5 commits
-
-
Qifan Pan authored
This is a reland of commit 30ee0690 Avoid terminating from another thread in unit tests to make the termination of optimized bigint multiplication deterministic on windows Original change's description: > Reland "[TurboFan] Support BigIntMultiply" > > This is a reland of commit ccde4205 > > Added a test case for terminating optimized bigint multiply and attached frame_state to the runtime call to provide deopt information to determine the throw location > > Original change's description: > > [TurboFan] Support BigIntMultiply > > > > Bug: v8:9407 > > Change-Id: Iab0a4ca8dd5d83444d1addd6043a5c8e3a8577a7 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3773773 > > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#82140} > > Bug: v8:9407 > Change-Id: Ia691d758265148da1de291365d41c7c1d1f98ddd > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3810391 > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82232} Bug: v8:9407 Change-Id: I7d04897f4e8f260aba31dbad55ce1263406473d9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3819621 Commit-Queue: Qifan Pan <panq@google.com> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#82304}
-
Tobias Tebbi authored
This reverts commit b1020a43. Reason for revert: Causes timeout for `condition-workers`: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20debug/40516/overview Original change's description: > Reland "[shared-struct] Add Atomics.Condition" > > This is a reland of commit e2066ff6 > > Changes since revert: > - Rebased against c9918524, which > uses the external pointer table for the WaiterQueueNode stored > in the state field when compressing pointers. This relaxes > the alignment requirement of the state field to be 4-bytes when > compressing pointers. > - Moved the state field into the JSSynchronizationPrimitive base > class, since alignment and padding can now be made simpler. > > Original change's description: > > [shared-struct] Add Atomics.Condition > > > > Bug: v8:12547 > > Change-Id: Id439aef9cab3348171a23378cdd47ede5f4d7288 > > Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_rel_ng,v8_linux64_tsan_rel_ng > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3630350 > > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > > Reviewed-by: Adam Klein <adamk@chromium.org> > > Commit-Queue: Shu-yu Guo <syg@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#81734} > > Bug: v8:12547 > Change-Id: I638304c3d5722c64bd04708ed4cf84863cdebb81 > Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_rel_ng,v8_linux64_tsan_rel_ng > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3763787 > Reviewed-by: Adam Klein <adamk@chromium.org> > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82278} Bug: v8:12547 Change-Id: I27c2aeb131f1b68c2240323189db88d552aa92f9 Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_rel_ng,v8_linux64_tsan_rel_ng No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3817187 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Owners-Override: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#82292}
-
jameslahm authored
... when setting the prototype of TypedArray constructor. Setting the __proto__ of TypedArray constructor could change TypedArray's @@species, thus we need to invalidate the @@species protector. Bug: v8:13110 Change-Id: Ib3b2c88d1136965c221492ff81a26ae69533b356 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3813063 Commit-Queue: 王澳 <wangao.james@bytedance.com> Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#82282}
-
Samuel Groß authored
Since those are accessed from background threads during marking, they should generally be loaded and stored using atomic operations. Further, when an external pointer slot is initialized, the handle should be stored using release semantics to prevent reordering of the store into the pointer table after the store of the handle to the object. Bug: v8:10391, v8:13156 Change-Id: I5c33b4e791482f84e2770cd047a11f5762a0aa65 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3812035Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#82280}
-
Shu-yu Guo authored
This is a reland of commit e2066ff6 Changes since revert: - Rebased against c9918524, which uses the external pointer table for the WaiterQueueNode stored in the state field when compressing pointers. This relaxes the alignment requirement of the state field to be 4-bytes when compressing pointers. - Moved the state field into the JSSynchronizationPrimitive base class, since alignment and padding can now be made simpler. Original change's description: > [shared-struct] Add Atomics.Condition > > Bug: v8:12547 > Change-Id: Id439aef9cab3348171a23378cdd47ede5f4d7288 > Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_rel_ng,v8_linux64_tsan_rel_ng > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3630350 > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/main@{#81734} Bug: v8:12547 Change-Id: I638304c3d5722c64bd04708ed4cf84863cdebb81 Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_rel_ng,v8_linux64_tsan_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3763787Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#82278}
-
- 05 Aug, 2022 4 commits
-
-
Samuel Groß authored
This CL refactors WasmContinuationObject to have a direct ExternalPointer to the jmpbuf structure instead of using a Foreign. This in turn makes it possible to use a unique pointer tag for that external pointer when the sandbox is enabled. Bug: v8:10391, v8:12949 Change-Id: I25528bd8aaffb32dd617440d3ccb77d319894a38 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3805061Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#82238}
-
Brendon Tiszka authored
Bug: chromium:1216437,chromium:1219630,chromium:1309225 Bug: chromium:1311641,chromium:1314616 Change-Id: I1575edbdd7fe91ed970ffe2f3437fd7c514e1ebd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3794525Reviewed-by:
Samuel Groß <saelo@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Brendon Tiszka <tiszka@chromium.org> Cr-Commit-Position: refs/heads/main@{#82235}
-
Francis McCabe authored
This reverts commit 30ee0690. Reason for revert: breaks something on windows: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Win64/47755/overview Original change's description: > Reland "[TurboFan] Support BigIntMultiply" > > This is a reland of commit ccde4205 > > Added a test case for terminating optimized bigint multiply and attached frame_state to the runtime call to provide deopt information to determine the throw location > > Original change's description: > > [TurboFan] Support BigIntMultiply > > > > Bug: v8:9407 > > Change-Id: Iab0a4ca8dd5d83444d1addd6043a5c8e3a8577a7 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3773773 > > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#82140} > > Bug: v8:9407 > Change-Id: Ia691d758265148da1de291365d41c7c1d1f98ddd > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3810391 > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82232} Bug: v8:9407 Change-Id: I006ed3770564149ae146c614c3d693de9ec29e41 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3812289 Owners-Override: Francis McCabe <fgm@chromium.org> Commit-Queue: Francis McCabe <fgm@chromium.org> Reviewed-by:
Francis McCabe <fgm@chromium.org> Auto-Submit: Francis McCabe <fgm@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#82233}
-
Qifan Pan authored
This is a reland of commit ccde4205 Added a test case for terminating optimized bigint multiply and attached frame_state to the runtime call to provide deopt information to determine the throw location Original change's description: > [TurboFan] Support BigIntMultiply > > Bug: v8:9407 > Change-Id: Iab0a4ca8dd5d83444d1addd6043a5c8e3a8577a7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3773773 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82140} Bug: v8:9407 Change-Id: Ia691d758265148da1de291365d41c7c1d1f98ddd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3810391 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#82232}
-
- 04 Aug, 2022 1 commit
-
-
Lu Yahan authored
This is a reland of commit 491de34b co-authors: Ji Qiu <qiuji@iscas.ac.cn> Alvise De Faveri Tron <elvisilde@gmail.com> Usman Zain <uszain@gmail.com> Zheng Quan <vitalyankh@gmail.com> Original change's description: > [riscv32] Add RISCV32 backend > > This very large changeset adds support for RISCV32. > > Bug: v8:13025 > Change-Id: Ieacc857131e6620f0fcfd7daa88a0f8d77056aa9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3736732 > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> > Reviewed-by: ji qiu <qiuji@iscas.ac.cn> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82053} Bug: v8:13025 Change-Id: I220fae4b8e2679bdc111724e08817b079b373bd5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3807124 Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
ji qiu <qiuji@iscas.ac.cn> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#82198}
-
- 03 Aug, 2022 3 commits
-
-
Frank Tang authored
Correct the wrong parameter passing in the 3rd PrepareTemporalFields calls Spec text: https://tc39.es/proposal-temporal/#sec-temporal.plaindate.prototype.with https://tc39.es/proposal-temporal/#sec-temporal.plainyearmonth.prototype.with https://tc39.es/proposal-temporal/#sec-temporal.plainmonthday.prototype.with Bug: v8:11544 Change-Id: I8acd7059cedf6924eee36ed5cb7892b636c8c72a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3807905Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#82184}
-
Nico Hartmann authored
This reverts commit ccde4205. Reason for revert: Investigating performance regressions Original change's description: > [TurboFan] Support BigIntMultiply > > Bug: v8:9407 > Change-Id: Iab0a4ca8dd5d83444d1addd6043a5c8e3a8577a7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3773773 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82140} Bug: v8:9407 Change-Id: I21de9fd43df2e043b4019d2bad560329ef0971b4 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3807584 Owners-Override: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#82168}
-
Lu Yahan authored
This reverts commit 491de34b. Reason for revert: Lose co-authors information Original change's description: > [riscv32] Add RISCV32 backend > > This very large changeset adds support for RISCV32. > > Bug: v8:13025 > Change-Id: Ieacc857131e6620f0fcfd7daa88a0f8d77056aa9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3736732 > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> > Reviewed-by: ji qiu <qiuji@iscas.ac.cn> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82053} Bug: v8:13025 Change-Id: I6abea32c8ea43b080a938782dc643c97a123f1d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3803994Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
ji qiu <qiuji@iscas.ac.cn> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#82163}
-
- 02 Aug, 2022 4 commits
-
-
Qifan Pan authored
Bug: v8:9407 Change-Id: Iab0a4ca8dd5d83444d1addd6043a5c8e3a8577a7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3773773Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#82140}
-
Nico Hartmann authored
This reverts commit 872b7faa. Reason for revert: Somewhat speculative revert because of https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/39673/overview (reverting locally resolved the issue for me) Original change's description: > Fix Context PromiseHook behaviour with debugger enabled > > This is a solution for https://github.com/nodejs/node/issues/43148. > > Due to differences in behaviour between code with and without the debugger enabled, some promise lifecycle events were being missed and some extra ones were being added. This change resolves this and verifies the event sequence is consistent between code with and without the debugger. > > Change-Id: I3dabf1dceb14233226b1752083d659f1c2f97966 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3779922 > Reviewed-by: Victor Gomes <victorgomes@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82132} Change-Id: I3e05adead5d8033906055e0741854da68aade2ac No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3804859 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Owners-Override: Nico Hartmann <nicohartmann@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#82136}
-
Stephen Belanger authored
This is a solution for https://github.com/nodejs/node/issues/43148. Due to differences in behaviour between code with and without the debugger enabled, some promise lifecycle events were being missed and some extra ones were being added. This change resolves this and verifies the event sequence is consistent between code with and without the debugger. Change-Id: I3dabf1dceb14233226b1752083d659f1c2f97966 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3779922Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#82132}
-
Pan, Tao authored
We record Sparkplug compiled into SFI which will be saved in disk cache, once deserializes SFI from disk cache, and the SFI was Sparkplug compiled, we trigger concurrent batch Sparkplug compilation, and directly allocate feedback vector on the first call. This CL can improve Speedometer2 by +2%. Change-Id: I89b0ffc6d7a107a1b8c131529e02cd7eb2890888 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3725612Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Tao Pan <tao.pan@intel.com> Cr-Commit-Position: refs/heads/main@{#82122}
-
- 01 Aug, 2022 1 commit
-
-
Marja Hölttä authored
Instead, create only 1 normalized map. This will benefit ES5-style classes. Bug: v8:13091 Change-Id: I495ea4a69aedef01b97f4b0d5aad19bb355ce004 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3776692 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#82099}
-
- 29 Jul, 2022 4 commits
-
-
Joyee Cheung authored
This is a reland of commit 07e11a64. The original change removed the fill_thehole_and_call_runtime bailout in StringBuiltinsAssembler::StringToArray() so when the string is external and cannot be unpacked, the FixedArray won't be filled with holes before we call into the runtime, thus failing a heap verification if a GC happens before the array is filled. This reland adds back the bailout for this case. Bug: v8:12718, chromium:1330410 Original change's description: > [heap] pre-populate the single_character_string_cache > > This simplifies the code and removes the runtime overhead of > spontaneously adding strings to the cache. > > Bug: v8:12718 > Change-Id: I2ed49bd82e3baf2563eeb8f463be72c0308c52c5 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3616553 > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Joyee Cheung <joyee@igalia.com> > Cr-Commit-Position: refs/heads/main@{#80803} Change-Id: I25e8724d511a8d0d971fa2a9b6ba8a0eafce4413 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3793525Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#82082}
-
Tobias Tebbi authored
Bug: v8:13114 Change-Id: I69ec1cbc8021e4c86aec705466f028cc95a05261 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3793395 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#82069}
-
Dominik Inführ authored
In addition to the marking barrier we now also need the shared barrier for properly tracking the old-to-shared remembered set. So invoke the full write barrier for set_map and set_map_after_allocation. Bug: v8:11708 Change-Id: Ic234e7fad3733ab1348298f5fcc2b76e44cf4b8d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3793388Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#82065}
-
Lu Yahan authored
This very large changeset adds support for RISCV32. Bug: v8:13025 Change-Id: Ieacc857131e6620f0fcfd7daa88a0f8d77056aa9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3736732Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by:
ji qiu <qiuji@iscas.ac.cn> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#82053}
-
- 28 Jul, 2022 5 commits
-
-
Marja Hölttä authored
It was delegating to GetDerivedMap but not handling the possible error coming from it. Bug: v8:11111,chromium:1347722 Change-Id: I348ed721281d8edd324f0e364d8ed45602cb9f54 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3791063Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Auto-Submit: Marja Hölttä <marja@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#82046}
-
Seth Brenith authored
This is a reland of commit e895b7af The unit test has been updated to work correctly when --stress-incremental-marking is enabled. Original change's description: > Background merging of deserialized scripts > > Recently, https://crrev.com/c/v8/v8/+/3681880 added new API functions > with which an embedder could request that V8 merge newly deserialized > script data into an existing Script from the Isolate's compilation > cache. This change implements those new functions. This functionality is > still disabled by default due to the flag > merge_background_deserialized_script_with_compilation_cache. > > The goal of this new functionality is to reduce memory usage when > multiple frames load the same script with a long delay between (long > enough for the script to have been evicted from Blink's in-memory cache > and for the top-level SharedFunctionInfo to be flushed). In that case, > there are two Script objects for the same script: one which was found in > the Isolate compilation cache (the "old" script), and one which was > recently deserialized (the "new" script). The new script's object graph > is essentially standalone: it may point to internalized strings and > readonly objects such as the empty feedback metadata, but otherwise > it is unconnected to the rest of the heap. The merging logic takes any > useful data from the new script's object graph and attaches it into the > old script's object graph, so that the new Script object and any other > duplicated objects can be discarded. More specifically: > > 1. If the new Script has a SharedFunctionInfo for a particular function > literal, and the old Script does not, then the old Script is updated > to refer to the new SharedFunctionInfo. > 2. If the new Script has a compiled SharedFunctionInfo for a particular > function literal, and the old Script has an uncompiled > SharedFunctionInfo, then the old SharedFunctionInfo is updated to > point to the function_data and feedback_metadata from the new > SharedFunctionInfo. > 3. If any used object from the new object graph points to a > SharedFunctionInfo, where the old object graph contains a matching > SharedFunctionInfo for the same function literal, then that pointer > is updated to point to the old SharedFunctionInfo. > > The document at [0] includes diagrams showing an example merge on a very > small script. > > Steps 1 and 2 above are pretty simple, but step 3 requires walking a > possibly large set of objects, so this new API lets the embedder run > step 3 from a background thread. Steps 1 and 2 are performed later, on > the main thread. > > The next important question is: in what ways can the old script's object > graph be modified during the background execution of step 3, or during > the time after step 3 but before steps 1 and 2? > > A. SharedFunctionInfos can go from compiled to uncompiled due to > flushing. This is okay; the worst outcome is that the function would > need to be compiled again later. Such a risk is already present, > since V8 doesn't keep IsCompiledScopes for every compiled function in > a background-deserialized script. > B. SharedFunctionInfos can go from uncompiled to compiled due to lazy > compilation. This is also okay; the merge completion logic on the > main thread will just keep this lazily compiled data rather than > inserting compiled data from the newly deserialized object graph. > C. SharedFunctionInfos can be cleared from the Script's weak array if > they are no longer referenced. This is mostly okay, because any > SharedFunctionInfo that is needed by the background merge is strongly > referenced and therefore can't be cleared. The only problem arises if > the top-level SharedFunctionInfo gets cleared, so the merge task must > deliberately keep a reference to that one. > D. SharedFunctionInfos can be created if they are needed due to lazy > compilation of a parent function. This change is somewhat troublesome > because it invalidates the background thread's work and requires a > re-traversal on the main thread to update any pointers that should > point to this lazily compiled SharedFunctionInfo. > > At a high level, this change implements three previously unimplemented > functions in BackgroundDeserializeTask (in compiler.cc) and updates one: > > - BackgroundDeserializeTask::SourceTextAvailable, run on the main > thread, checks whether there is a matching Script in the Isolate > compilation cache which doesn't already have a top-level > SharedFunctionInfo. If so, it saves that Script in a persistent > handle. > - BackgroundDeserializeTask::ShouldMergeWithExistingScript checks > whether the persistent handle from the first step exists (a fast > operation which can be called from any thread). > - BackgroundDeserializeTask::MergeWithExistingScript, run on a > background thread, performs step 3 of the merge described above and > generates lists of persistent data describing how the main thread can > complete the merge. > - BackgroundDeserializeTask::Finish is updated to perform the merge > steps 1 and 2 listed above, as well as a possible re-traversal of the > graph if required due to newly created SharedFunctionInfos in the old > Script. > > The merge logic has nothing to do with deserialization, and indeed I > hope to reuse it for background compilation tasks as well, so it is all > contained within a new class BackgroundMergeTask (in compiler.h,cc). It > uses a second class, ForwardPointersVisitor (in compiler.cc) to perform > the object visitation that updates pointers to SharedFunctionInfos. > > [0] https://docs.google.com/document/d/1UksB5Vm7TT1-f3S9W1dK_rP9jKn_ly0WVm_UDPpWuBw/edit > > Bug: v8:12808 > Change-Id: Id405869e9d5b106ca7afd9c4b08cb5813e6852c6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3739232 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Cr-Commit-Position: refs/heads/main@{#81941} Bug: v8:12808 Change-Id: Id2036dfa4eba8670cac899773d7a906825fa2c50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3787266Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#82045}
-
Clemens Backes authored
Memory64 currently does not use trap handling, so we should not allocate a guard region (10GB total reservation). This is implemented by adding a {WasmMemoryFlag} enum in the backing store header, which replaces the previous {MemoryIndexType}. The flag is not stored with the backing store, as the backing store does not care about the index type, and we might want to share the same backing store for memory32 and memory64 (if sizes permit this). Instead, we (still) store the flag with the WasmMemoryObject and pass it to the backing store methods. R=jkummerow@chromium.org Bug: v8:10949 Change-Id: I284b85b98d181ba5e8d454b24bfa48f6ac201be5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3789506Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#82038}
-
Marja Hölttä authored
Now with smaller repro Bug: v8:11111,chromium:1347721 Change-Id: I637d85e91249aa8eb433f6e00e4fd385d5b950ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3789519 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Auto-Submit: Marja Hölttä <marja@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#82022}
-
Clemens Backes authored
This method is only called from {AllocateWasmMemory}, so does not need to be public. R=jkummerow@chromium.org Bug: v8:10949 Change-Id: Idf411179b6cf816adc111ceebf79335177e3440b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3789502Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#82019}
-
- 27 Jul, 2022 6 commits
-
-
Leszek Swirski authored
This reverts commit fb19bc36. Reason for revert: Test is flaky (see https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket/8807487788813571761/+/u/Check_-_isolates__flakes_/regress-crbug-1347721) Original change's description: > [rab/gsab] Fix accessing raw byte length > > Bug: v8:11111,chromium:1347721 > Change-Id: Idff4256f6720841ca4dee8f691babe7245277046 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3782812 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Auto-Submit: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/main@{#81995} Bug: v8:11111,chromium:1347721 Change-Id: Ib29bd8fad1227acb21c79378c71ed081ba8b4914 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3789505 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#82007}
-
Omer Katz authored
All objects allocated during Isolate initialization are long living and should be allocated in old space. Bug: v8:12612 Change-Id: I394cbaa2ba45750b98bfa219afa0c538552de9c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3785148Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#82006}
-
Marja Hölttä authored
Bug: v8:11111,chromium:1347721 Change-Id: Idff4256f6720841ca4dee8f691babe7245277046 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3782812Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Auto-Submit: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#81995}
-
JianxiaoLuIntel authored
From the assembly code(Windows10), we found in the function "JSObject::GetHeaderSize" the __security_check_cookie will be called everytime before return. It is introduced by the stringstream which is used to print the enum string. We can remove the unnecessary __security_check_cookie by removing the stingstream. Change-Id: I2786e0cf8f216d6a8cb07f502c29018987b3cc43 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3769433Reviewed-by:
Samuel Groß <saelo@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jianxiao Lu <jianxiao.lu@intel.com> Cr-Commit-Position: refs/heads/main@{#81993}
-
Frank Tang authored
Remove the range check of formatRange, formatRangeToParts on NumberFormat and selectRange on PluralRules Bug: v8:10776 Change-Id: Ifede7d61db6414d5b338b22bd188406e5f7d98b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3779041Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#81984}
-
Frank Tang authored
Call Intl function which call ICU TimeZone for the calculation of timezone other than UTC Bug: v8:11544 Change-Id: Idc355aaeccc0bed026a7117bb366ee914fa29733 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3783074 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#81983}
-