- 24 May, 2022 1 commit
-
-
Clemens Backes authored
The Runtime_WasmCompileLazy function was returning a ptr-sized address, wrapped in an Object. This worked because no GC is triggered between the return from the runtime function and the point where we jump to the returned address. In a pointer-compressed world though, generated code assumes that all objects live in the same 4GB heap, so comparisons only compare the lower 32 bit. On a 64-bit system, this can lead to collisions where a comparison determines that the returned address equals a heap object, even though the upper 32-bit differ. This happens occasionally in the wild, where the returned function entry pointer has the same lower half than the exception sentinel value. This leads to triggering stack unwinding (by the CEntry stub), which then fails (with a CHECK) because there is no pending exception. This CL fixes that by returning a Smi instead which is the offset in the jump table where the kWasmCompileLazy builtin should jump to. The builtin then gets the jump table start address from the instance object, adds the offset that the runtime function returned, and performs the jump. We do not include a regression test because this failure is very spurious and hard to reproduce. R=jkummerow@chromium.org Bug: chromium:1311960 Change-Id: I5a72daf78905904f8ae8ade8630793c42e223984 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3663093 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#80729}
-
- 13 May, 2022 1 commit
-
-
Clemens Backes authored
Now that we require C++17 support, we can just use the standard static_assert without message, instead of our STATIC_ASSERT macro. R=leszeks@chromium.org Bug: v8:12425 Change-Id: I1d4e39c310b533bcd3a4af33d027827e6c083afe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3647353Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80524}
-
- 09 May, 2022 1 commit
-
-
Jakob Linke authored
New trace events: - finished OSR compilation. - entry into OSR code. Since the latter now happens without a trip into runtime, tracing is a bit more involved - we need to check FLAG_trace_osr in generated code, and call a runtime function if it is set. Drive-by: Slightly reorganize other OSR tracing. Bug: v8:12161 Change-Id: I3096424ca7d47a19802281a0e0a39f7f3394c12b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3629331 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Auto-Submit: Jakob Linke <jgruber@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#80420}
-
- 06 May, 2022 1 commit
-
-
Clemens Backes authored
Those conditions are rarely used and not properly supported everywhere. If needed, we should duplicate methods instead, or pass a {base::Optional<Condition>}. This is a follow-up to https://crrev.com/c/3629129. R=tebbi@chromium.org CC=sroettger@chromium.org Bug: v8:12425 Change-Id: Ia67c3d4f575b0f7dd0ae125971959cf68f2fefc7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3629553Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80395}
-
- 02 May, 2022 1 commit
-
-
Jakob Linke authored
This is a reland of commit 91453880 Fixed: properly reference the ClearedValue in CSA (i.e. without the cage_base upper 32 bits). Original change's description: > Reland "[osr] Use the new OSR cache" > > This is a reland of commit 91da3883 > > Fixed: Use an X register for JumpIfCodeTIsMarkedForDeoptimization > on arm64. > > Original change's description: > > [osr] Use the new OSR cache > > > > This CL switches over our OSR system to be based on the feedback > > vector osr caches. > > > > - OSRing to Sparkplug is fully separated from OSR urgency. If > > SP code exists, we simply jump to it, no need to maintain an > > installation request. > > - Each JumpLoop checks its dedicated FeedbackVector cache slot. > > If a valid target code object exists, we enter it *without* > > calling into runtime to fetch the code object. > > - Finally, OSR urgency still remains as the heuristic for > > requesting Turbofan OSR compile jobs. Note it no longer has a > > double purpose of being a generic untargeted installation > > request. > > > > With the new system in place, we can remove now-unnecessary > > hacks: > > > > - Early OSR tierup is replaced by the standard OSR system. Any > > present OSR code is automatically entered. > > - The synchronous OSR compilation fallback is removed. With > > precise installation (= per-JumpLoop-bytecode) we no longer > > have the problem of 'getting unlucky' with JumpLoop/cache entry > > mismatches. Execution has moved on while compiling? Simply spawn > > a new concurrent compile job. > > - Remove the synchronous (non-OSR) Turbofan compile request now > > that we always enter available OSR code as early as possible. > > - Tiering into Sparkplug no longer messes with OSR state. > > > > Bug: v8:12161 > > Change-Id: I0a85e53d363504b7dac174dbaf69c03c35e66700 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596167 > > Commit-Queue: Jakob Linke <jgruber@chromium.org> > > Auto-Submit: Jakob Linke <jgruber@chromium.org> > > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#80147} > > Bug: v8:12161 > Change-Id: Ib3597cf1d99cdb5d0f2c5ac18e311914f376231d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3606232 > Auto-Submit: Jakob Linke <jgruber@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80167} Bug: v8:12161,chromium:1320189 Change-Id: Ibd9a2ab61f51ebb32a3f5a66f7c602faead71c3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3620273Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#80306}
-
- 29 Apr, 2022 1 commit
-
-
Rohan Pavone authored
This reverts commit 91453880. Reason for revert: Breaking the Fuchsia Deterministic Builder Original change's description: > Reland "[osr] Use the new OSR cache" > > This is a reland of commit 91da3883 > > Fixed: Use an X register for JumpIfCodeTIsMarkedForDeoptimization > on arm64. > > Original change's description: > > [osr] Use the new OSR cache > > > > This CL switches over our OSR system to be based on the feedback > > vector osr caches. > > > > - OSRing to Sparkplug is fully separated from OSR urgency. If > > SP code exists, we simply jump to it, no need to maintain an > > installation request. > > - Each JumpLoop checks its dedicated FeedbackVector cache slot. > > If a valid target code object exists, we enter it *without* > > calling into runtime to fetch the code object. > > - Finally, OSR urgency still remains as the heuristic for > > requesting Turbofan OSR compile jobs. Note it no longer has a > > double purpose of being a generic untargeted installation > > request. > > > > With the new system in place, we can remove now-unnecessary > > hacks: > > > > - Early OSR tierup is replaced by the standard OSR system. Any > > present OSR code is automatically entered. > > - The synchronous OSR compilation fallback is removed. With > > precise installation (= per-JumpLoop-bytecode) we no longer > > have the problem of 'getting unlucky' with JumpLoop/cache entry > > mismatches. Execution has moved on while compiling? Simply spawn > > a new concurrent compile job. > > - Remove the synchronous (non-OSR) Turbofan compile request now > > that we always enter available OSR code as early as possible. > > - Tiering into Sparkplug no longer messes with OSR state. > > > > Bug: v8:12161 > > Change-Id: I0a85e53d363504b7dac174dbaf69c03c35e66700 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596167 > > Commit-Queue: Jakob Linke <jgruber@chromium.org> > > Auto-Submit: Jakob Linke <jgruber@chromium.org> > > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#80147} > > Bug: v8:12161 > Change-Id: Ib3597cf1d99cdb5d0f2c5ac18e311914f376231d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3606232 > Auto-Submit: Jakob Linke <jgruber@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80167} Bug: v8:12161 Change-Id: I73e2d98660e9edfbe07a152a14402380ea9227de Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3615219Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Owners-Override: Deepti Gandluri <gdeepti@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#80287}
-
- 28 Apr, 2022 1 commit
-
-
Simon Zünd authored
Doc: https://bit.ly/revive-restart-frame Context: https://crrev.com/c/3582395 (jumbo CL with the whole feature) This CL adds a new builtin called "RestartFrameTrampoline". This trampoline is relatively simple: It leaves the current frame and re-invokes the function. This essentially restarts the function and is one of the key components required to bring back the "Restart frame" DevTools debugging feature. The builtin is closely related to the "FrameDropperTrampoline" removed in the CL https://crrev.com/c/2854750. The key difference is that the "FrameDropperTrampoline" dropped to an "arbitrary" frame pointer before restarting the function (arbitrary in the sense that it was provided as an argument). This caused issues as the feature was implemented in a way that the frame pointer wasn't necessarily valid anymore. In comparison, the "RestartFrameTrampoline" relies on the V8 unwinder to drop it in the correct frame first and is then invoked via either the CEntry stub or the deoptimizer (see design doc for details). Bug: chromium:1303521 Change-Id: I7bd46620808f8694c2c776b8bcd267e525d5b581 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3585944 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#80254}
-
- 27 Apr, 2022 1 commit
-
-
Camillo Bruni authored
Change-Id: Iec93e286c8067453cc1f9a978fa09b8734999f83 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596159Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#80236}
-
- 26 Apr, 2022 2 commits
-
-
Jakob Gruber authored
This is a reland of commit 91da3883 Fixed: Use an X register for JumpIfCodeTIsMarkedForDeoptimization on arm64. Original change's description: > [osr] Use the new OSR cache > > This CL switches over our OSR system to be based on the feedback > vector osr caches. > > - OSRing to Sparkplug is fully separated from OSR urgency. If > SP code exists, we simply jump to it, no need to maintain an > installation request. > - Each JumpLoop checks its dedicated FeedbackVector cache slot. > If a valid target code object exists, we enter it *without* > calling into runtime to fetch the code object. > - Finally, OSR urgency still remains as the heuristic for > requesting Turbofan OSR compile jobs. Note it no longer has a > double purpose of being a generic untargeted installation > request. > > With the new system in place, we can remove now-unnecessary > hacks: > > - Early OSR tierup is replaced by the standard OSR system. Any > present OSR code is automatically entered. > - The synchronous OSR compilation fallback is removed. With > precise installation (= per-JumpLoop-bytecode) we no longer > have the problem of 'getting unlucky' with JumpLoop/cache entry > mismatches. Execution has moved on while compiling? Simply spawn > a new concurrent compile job. > - Remove the synchronous (non-OSR) Turbofan compile request now > that we always enter available OSR code as early as possible. > - Tiering into Sparkplug no longer messes with OSR state. > > Bug: v8:12161 > Change-Id: I0a85e53d363504b7dac174dbaf69c03c35e66700 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596167 > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Auto-Submit: Jakob Linke <jgruber@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80147} Bug: v8:12161 Change-Id: Ib3597cf1d99cdb5d0f2c5ac18e311914f376231d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3606232 Auto-Submit: Jakob Linke <jgruber@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#80167}
-
Liu Yu authored
The size of flag is now 16 bits. Bug: v8:12161 Change-Id: I5db5e05171281f27cce739c7b76e1d4b9ebf20b9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3602236Reviewed-by: Jakob Linke <jgruber@chromium.org> Commit-Queue: Yu Liu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/main@{#80165}
-
- 25 Apr, 2022 2 commits
-
-
Nico Hartmann authored
This reverts commit 91da3883. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20-%20arm64%20-%20sim%20-%20pointer%20compression%20-%20builder/21150/overview Original change's description: > [osr] Use the new OSR cache > > This CL switches over our OSR system to be based on the feedback > vector osr caches. > > - OSRing to Sparkplug is fully separated from OSR urgency. If > SP code exists, we simply jump to it, no need to maintain an > installation request. > - Each JumpLoop checks its dedicated FeedbackVector cache slot. > If a valid target code object exists, we enter it *without* > calling into runtime to fetch the code object. > - Finally, OSR urgency still remains as the heuristic for > requesting Turbofan OSR compile jobs. Note it no longer has a > double purpose of being a generic untargeted installation > request. > > With the new system in place, we can remove now-unnecessary > hacks: > > - Early OSR tierup is replaced by the standard OSR system. Any > present OSR code is automatically entered. > - The synchronous OSR compilation fallback is removed. With > precise installation (= per-JumpLoop-bytecode) we no longer > have the problem of 'getting unlucky' with JumpLoop/cache entry > mismatches. Execution has moved on while compiling? Simply spawn > a new concurrent compile job. > - Remove the synchronous (non-OSR) Turbofan compile request now > that we always enter available OSR code as early as possible. > - Tiering into Sparkplug no longer messes with OSR state. > > Bug: v8:12161 > Change-Id: I0a85e53d363504b7dac174dbaf69c03c35e66700 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596167 > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Auto-Submit: Jakob Linke <jgruber@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80147} Bug: v8:12161 Change-Id: I4a6955f4f20b6f3b13e98d5600c7c6a5205915bc No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3605608 Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Owners-Override: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#80148}
-
Jakob Gruber authored
This CL switches over our OSR system to be based on the feedback vector osr caches. - OSRing to Sparkplug is fully separated from OSR urgency. If SP code exists, we simply jump to it, no need to maintain an installation request. - Each JumpLoop checks its dedicated FeedbackVector cache slot. If a valid target code object exists, we enter it *without* calling into runtime to fetch the code object. - Finally, OSR urgency still remains as the heuristic for requesting Turbofan OSR compile jobs. Note it no longer has a double purpose of being a generic untargeted installation request. With the new system in place, we can remove now-unnecessary hacks: - Early OSR tierup is replaced by the standard OSR system. Any present OSR code is automatically entered. - The synchronous OSR compilation fallback is removed. With precise installation (= per-JumpLoop-bytecode) we no longer have the problem of 'getting unlucky' with JumpLoop/cache entry mismatches. Execution has moved on while compiling? Simply spawn a new concurrent compile job. - Remove the synchronous (non-OSR) Turbofan compile request now that we always enter available OSR code as early as possible. - Tiering into Sparkplug no longer messes with OSR state. Bug: v8:12161 Change-Id: I0a85e53d363504b7dac174dbaf69c03c35e66700 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596167 Commit-Queue: Jakob Linke <jgruber@chromium.org> Auto-Submit: Jakob Linke <jgruber@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#80147}
-
- 14 Apr, 2022 1 commit
-
-
Jakob Gruber authored
This is a reland of commit a4216b7b Original change's description: > [osr] Extract extended OSR checks to BaselineOnStackReplacement builtin > > .. to reduce Sparkplug code size. > > Bug: v8:12161 > Change-Id: I4029a75dfa37f716c285ce27153c077a0a82a341 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576119 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79962} Bug: v8:12161 Change-Id: I69afd0832d7ca447b5481651ef47ebaa8d023ded Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3585943 Auto-Submit: Jakob Linke <jgruber@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79980}
-
- 13 Apr, 2022 2 commits
-
-
Tobias Tebbi authored
This reverts commit a4216b7b. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/43174/overview Original change's description: > [osr] Extract extended OSR checks to BaselineOnStackReplacement builtin > > .. to reduce Sparkplug code size. > > Bug: v8:12161 > Change-Id: I4029a75dfa37f716c285ce27153c077a0a82a341 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576119 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79962} Bug: v8:12161 Change-Id: I382609d0b8cd951a3df5c9c834fe7071eb90faa5 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3584121 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Owners-Override: Tobias Tebbi <tebbi@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#79966}
-
Jakob Gruber authored
.. to reduce Sparkplug code size. Bug: v8:12161 Change-Id: I4029a75dfa37f716c285ce27153c077a0a82a341 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576119Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79962}
-
- 11 Apr, 2022 1 commit
-
-
Jakob Gruber authored
This is a reland of commit 51b99213 Fixed in reland: - bytecode_age was incorrectly still accessed as an int8 (instead of int16). - age and osr state were incorrectly reset on ia32 (16-bit write instead of 32-bit). Original change's description: > [osr] Add an install-by-offset mechanism > > .. for concurrent OSR. There, the challenge is to hit the correct > JumpLoop bytecode once compilation completes, since execution has > moved on in the meantime. > > This CL adds a new mechanism to request installation at a specific > bytecode offset. We add a new `osr_install_target` field to the > BytecodeArray: > > bitfield struct OSRUrgencyAndInstallTarget extends uint16 { > osr_urgency: uint32: 3 bit; > osr_install_target: uint32: 13 bit; > } > > // [...] > osr_urgency_and_install_target: OSRUrgencyAndInstallTarget; > bytecode_age: uint16; // Only 3 bits used. > // [...] > > Note urgency and install target are packed into one 16 bit field, > we can thus merge both checks into one comparison within JumpLoop. > Note also that these fields are adjacent to the bytecode age; we > still reset both OSR state and age with a single (now 32-bit) > store. > > The install target is the lowest 13 bits of the bytecode offset. > When set, every reached JumpLoop will check `is this my offset?`, > and if yes, jump into runtime to tier up. > > Drive-by: Rename BaselineAssembler::LoadByteField to LoadWord8Field. > > Bug: v8:12161 > Change-Id: I275d468b19df3a4816392a2fec0713a8d211ef80 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571812 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79853} Bug: v8:12161 Change-Id: I7c59b2a2aacb1d7d40fdf39396ec9d8d48b0b9ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3578543Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79911}
-
- 07 Apr, 2022 2 commits
-
-
Leszek Swirski authored
This reverts commit 51b99213. Reason for revert: Speculative revert for MSAN failure https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/43080/overview Original change's description: > [osr] Add an install-by-offset mechanism > > .. for concurrent OSR. There, the challenge is to hit the correct > JumpLoop bytecode once compilation completes, since execution has > moved on in the meantime. > > This CL adds a new mechanism to request installation at a specific > bytecode offset. We add a new `osr_install_target` field to the > BytecodeArray: > > bitfield struct OSRUrgencyAndInstallTarget extends uint16 { > osr_urgency: uint32: 3 bit; > osr_install_target: uint32: 13 bit; > } > > // [...] > osr_urgency_and_install_target: OSRUrgencyAndInstallTarget; > bytecode_age: uint16; // Only 3 bits used. > // [...] > > Note urgency and install target are packed into one 16 bit field, > we can thus merge both checks into one comparison within JumpLoop. > Note also that these fields are adjacent to the bytecode age; we > still reset both OSR state and age with a single (now 32-bit) > store. > > The install target is the lowest 13 bits of the bytecode offset. > When set, every reached JumpLoop will check `is this my offset?`, > and if yes, jump into runtime to tier up. > > Drive-by: Rename BaselineAssembler::LoadByteField to LoadWord8Field. > > Bug: v8:12161 > Change-Id: I275d468b19df3a4816392a2fec0713a8d211ef80 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571812 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79853} Bug: v8:12161 Change-Id: I0c47499544465c80b5b23a492c00ec1c62815caa No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576121 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#79855}
-
Jakob Gruber authored
.. for concurrent OSR. There, the challenge is to hit the correct JumpLoop bytecode once compilation completes, since execution has moved on in the meantime. This CL adds a new mechanism to request installation at a specific bytecode offset. We add a new `osr_install_target` field to the BytecodeArray: bitfield struct OSRUrgencyAndInstallTarget extends uint16 { osr_urgency: uint32: 3 bit; osr_install_target: uint32: 13 bit; } // [...] osr_urgency_and_install_target: OSRUrgencyAndInstallTarget; bytecode_age: uint16; // Only 3 bits used. // [...] Note urgency and install target are packed into one 16 bit field, we can thus merge both checks into one comparison within JumpLoop. Note also that these fields are adjacent to the bytecode age; we still reset both OSR state and age with a single (now 32-bit) store. The install target is the lowest 13 bits of the bytecode offset. When set, every reached JumpLoop will check `is this my offset?`, and if yes, jump into runtime to tier up. Drive-by: Rename BaselineAssembler::LoadByteField to LoadWord8Field. Bug: v8:12161 Change-Id: I275d468b19df3a4816392a2fec0713a8d211ef80 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571812Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79853}
-
- 06 Apr, 2022 1 commit
-
-
yangwenming authored
With this CL, spilled parameters with ref type in a call to wasm function, will be placed at a consecutive area in the generic JSToWasmWrapper frame as WasmCallDescriptor expected. Bug: v8:12722 Change-Id: I8b82f35b712a32b87abf5100ec46ee499a8178bc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3563445Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#79805}
-
- 05 Apr, 2022 1 commit
-
-
Thibaud Michaud authored
R=jkummerow@chromium.org CC=fgm@chromium.org Change-Id: I57c1860ef35919cdc7752e1dcc1beccfb4282b90 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3555770Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#79777}
-
- 04 Apr, 2022 2 commits
-
-
Jakob Gruber authored
If we've already cached OSR'd code for the current function but with a different osr offset, fall back to synchronous compilation. This avoids degenerate cases where we repeatedly spawn OSR jobs but then fail to install them. Drive-by: More consistent --trace-osr output. Drive-by: Rename kCompileForOnStackReplacement to kCompileOptimizeOSR for name consistency. Drive-by: Add JSFunction::DebugNameCStr() for more convenient PrintF's. Bug: v8:12161 Change-Id: I2b4a65bc9e082d85d7048a3e92ef86b07d396687 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3560431Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79761}
-
Jakob Gruber authored
.. since they are the same as eager deopts (% an unused counter). Fixed: v8:12765 Change-Id: I2be6210e476ead4ac6629a49259f28321e965867 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565717Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79729}
-
- 30 Mar, 2022 1 commit
-
-
Jakob Gruber authored
.. with readability and simplicity in mind. - Rename OptimizationMarker to the (shorter) TieringState. 'Tiering' also matches 'TieringManager' terminology. - Rename the values: kNone -> kNone kInOptimizationQueue -> kInProgress kCompileFoo_NotConcurrent -> kRequestFoo_Synchronous kCompileFoo_Concurrent -> kRequestFoo_Concurrent - Likewise rename ConcurrencyMode::kNotConcurrent to kSynchronous. - Add predicates to test enum values. - Consistent lower case names for accessors on JSFunction and FeedbackVector. - Instead of having to call HasOptimizationMarker() before using any other accessor, simply have optimization_marker() return kNone if no feedback vector exists. - Drive-by: Enable the Unreachable() in MaybeOptimizeCode() unconditionally - this should never happen, there's no reason not to protect against this in release builds as well. Bug: v8:12161 Change-Id: I67c03e2b7bd0a6b86d0c64f504ad8cb47e9e26ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3555774Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Auto-Submit: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79669}
-
- 29 Mar, 2022 1 commit
-
-
Leszek Swirski authored
All architectures have kSupportsFixedDeoptExitSizes = true, so we can remove kSupportsFixedDeoptExitSizes entirely and always have fixed-size deopts. Change-Id: Ib696f6d2431f60677cc7fa2193ee27b9b0f80bc8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3550268Reviewed-by: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79654}
-
- 21 Mar, 2022 1 commit
-
-
Jakob Gruber authored
This CL removes: - Dynamic map checks aka minimorphic property loads (TF support, builtins). - "Bailout" deopts (= drop to the interpreter once, but don't throw out optimized code). - "EagerWithResume" deopts (= part of dynamic map check functionality, we call a builtin for the deopt check and deopt or resume based on the result). Fixed: v8:12552 Change-Id: I492cf1667e0f54586690b2f72a65ea804224b840 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3401585 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#79544}
-
- 17 Mar, 2022 1 commit
-
-
Jakob Gruber authored
- Restructure the runtime function implementation. - Rename osr_loop_nesting_level to osr_urgency and add helpers. The motivation for the latter: I've always struggled with the `osr_loop_nesting_level` term; it neither matches terminology of what it's compared against (= the loop depth), nor implies what it's used for (= osr is triggered when `loop depth < osr nesting level`). In this CL it's renamed to `osr_urgency` to reflect that as urgency rises, we consider more and more loops as OSR candidates. Bug: v8:12161 Change-Id: I194ec5a3f1f02526641af1c7796ee0956b6fd3a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3528735Reviewed-by: Patrick Thier <pthier@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79509}
-
- 14 Mar, 2022 1 commit
-
-
Leszek Swirski authored
Modernise the RegList interface to be a proper class, rather than a typedef to an integer, and add proper methods onto it rather than ad-hoc bit manipulation. In particular, this makes RegList typesafe, adding a DoubleRegList for DoubleRegisters. The Arm64 CPURegList isn't updated to use (or extend) the new RegList interface, because of its weird type-erasing semantics (it can store Registers and VRegisters). Maybe in the future we'll want to get rid of CPURegList entirely and use RegList/DoubleRegList directly. Change-Id: I3cb2a4d386cb92a4dcd2edbdd3fba9ef71f354d6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3516747 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79460}
-
- 25 Feb, 2022 1 commit
-
-
legendecas authored
Bootstrap ShadowRealm.prototype.evaluate, WrappedFunction and WrappedFunction.[[Call]]. Bug: v8:11989 Change-Id: Id380acb71cd5719e783c8f5d741cc4ccf2a93e78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3432729Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Chengzhong Wu <legendecas@gmail.com> Cr-Commit-Position: refs/heads/main@{#79293}
-
- 24 Feb, 2022 1 commit
-
-
Leszek Swirski authored
Maglev is mid-tier optimising compiler designed mainly for compilation speed that can still generate good code for straightforward JS. This initial commit is an MVP for Maglev which can compile and run some very simple code, and sets up a framework that we can build upon. Design: https://docs.google.com/document/d/13CwgSL4yawxuYg3iNlM-4ZPCB8RgJya6b8H_E2F-Aek/edit# Bug: v8:7700 Change-Id: I5ae074ae099126c2c0d50864ac9b3d6fa5c9e85a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3483664Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79247}
-
- 17 Feb, 2022 1 commit
-
-
Thibaud Michaud authored
Use the existing generic js-to-wasm wrapper to handle arguments in the stack-switching export wrapper, by combining them into a single helper function parameterized by a boolean. If the stack_switch parameter is false, the generated js-to-wasm wrapper is the same as before. If the stack_switch parameter is true, we allocate and switch to the new stack before starting to process the parameters. To load the parameters, we also keep a pointer to the old stack. After the call, we convert the return value according to the return type as usual, and then switch back to the parent stack (which may be different than the original stack, but has a compatible stack frame layout). If the stack suspends during the call, control-flow jumps right before we deconstruct and leave the frame, and returns the Promise as an externref in the return register. R=ahaas@chromium.org,jkummerow@chromium.org CC=fgm@chromium.org Bug: v8:12191 Change-Id: If3f8eaba8edebe6e98d4738f79f895fdb5322adc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460410Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#79148}
-
- 15 Feb, 2022 2 commits
-
-
Thibaud Michaud authored
Split small chunks of assembly instructions into separate functions. This makes the code easier to follow and to maintain, especially for register allocation. Drive-by: simplify stack-switching test. R=ahaas@chromium.org Bug: v8:12191 Change-Id: Id7544a3b2d16085540d9f1863a0eabd1f72f22bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3461929Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#79105}
-
Jakob Gruber authored
.. in preparation for integrating addtl tiers into a single tiering system. 1. Explicitly spell out whether the request is concurrent or not. 2. Explicitly request the target compiler. Bug: v8:7700 Change-Id: I9d6e9f6a5d5f0f7218fe136ff50cea2ad7987f67 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460739 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79092}
-
- 03 Feb, 2022 1 commit
-
-
Thibaud Michaud authored
This is a reland of f942f656 Changes: Change the order of initialization for wasm continuations to ensure object integrity if a GC happens during allocation. Also add missing handles. Original change's description: > Reland "[wasm] Resume suspender on resolved promise" > > This is a reland of a865d16b > > Changes: > - Make the next ID atomic > - Leave more space for runtime calls in debug mode > > Original change's description: > > [wasm] Resume suspender on resolved promise > > > > Implement the WasmResume builtin, which resumes a wasm suspender > > when the corresponding JS promise resolves. > > > > Drive-by 1: Fix detection of empty stacks in the stack frame iterator. > > Drive-by 2: Add a stack ID for better tracing. > > > > R=ahaas@chromium.org > > CC=fgm@chromium.org > > > > Bug: v8:12191 > > Change-Id: Ifa3f00c4259f802292b04d426c739e9b551f87b9 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3420827 > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#78842} > > Bug: v8:12191 > Change-Id: I3c231690b27be79a0c00e13043342bb4a3628886 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3427203 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78890} Bug: v8:12191 Change-Id: I0e1362d3a9da1fd8c0d600ad9776ce2fd26c6a52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3434145Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#78922}
-
- 01 Feb, 2022 2 commits
-
-
Thibaud Michaud authored
This reverts commit f942f656. Reason for revert: Breaks gc-stress Original change's description: > Reland "[wasm] Resume suspender on resolved promise" > > This is a reland of a865d16b > > Changes: > - Make the next ID atomic > - Leave more space for runtime calls in debug mode > > Original change's description: > > [wasm] Resume suspender on resolved promise > > > > Implement the WasmResume builtin, which resumes a wasm suspender > > when the corresponding JS promise resolves. > > > > Drive-by 1: Fix detection of empty stacks in the stack frame iterator. > > Drive-by 2: Add a stack ID for better tracing. > > > > R=ahaas@chromium.org > > CC=fgm@chromium.org > > > > Bug: v8:12191 > > Change-Id: Ifa3f00c4259f802292b04d426c739e9b551f87b9 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3420827 > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#78842} > > Bug: v8:12191 > Change-Id: I3c231690b27be79a0c00e13043342bb4a3628886 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3427203 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78890} Bug: v8:12191 Change-Id: I5037419b6cee7a3bb49c1649e5a5d11a935a9b28 No-Presubmit: true No-Tree-Checks: true No-Try: true Auto-submit: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3429500 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Thibaud Michaud <thibaudm@chromium.org> Owners-Override: Maya Lekova <mslekova@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#78893}
-
Thibaud Michaud authored
This is a reland of a865d16b Changes: - Make the next ID atomic - Leave more space for runtime calls in debug mode Original change's description: > [wasm] Resume suspender on resolved promise > > Implement the WasmResume builtin, which resumes a wasm suspender > when the corresponding JS promise resolves. > > Drive-by 1: Fix detection of empty stacks in the stack frame iterator. > Drive-by 2: Add a stack ID for better tracing. > > R=ahaas@chromium.org > CC=fgm@chromium.org > > Bug: v8:12191 > Change-Id: Ifa3f00c4259f802292b04d426c739e9b551f87b9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3420827 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78842} Bug: v8:12191 Change-Id: I3c231690b27be79a0c00e13043342bb4a3628886 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3427203Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#78890}
-
- 28 Jan, 2022 2 commits
-
-
Thibaud Michaud authored
This reverts commit a865d16b. Reason for revert: breaks tsan and gc-stress Original change's description: > [wasm] Resume suspender on resolved promise > > Implement the WasmResume builtin, which resumes a wasm suspender > when the corresponding JS promise resolves. > > Drive-by 1: Fix detection of empty stacks in the stack frame iterator. > Drive-by 2: Add a stack ID for better tracing. > > R=ahaas@chromium.org > CC=fgm@chromium.org > > Bug: v8:12191 > Change-Id: Ifa3f00c4259f802292b04d426c739e9b551f87b9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3420827 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78842} Bug: v8:12191 Change-Id: I3352c8b1dcc8d99e1bd782a09276add219a3ecda No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3424489 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#78845}
-
Thibaud Michaud authored
Implement the WasmResume builtin, which resumes a wasm suspender when the corresponding JS promise resolves. Drive-by 1: Fix detection of empty stacks in the stack frame iterator. Drive-by 2: Add a stack ID for better tracing. R=ahaas@chromium.org CC=fgm@chromium.org Bug: v8:12191 Change-Id: Ifa3f00c4259f802292b04d426c739e9b551f87b9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3420827Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#78842}
-
- 27 Jan, 2022 3 commits
-
-
Andreas Haas authored
With this CL, externref parameters are supported by the generic wrapper. Externref parameters get handled in a separate loop which runs after the loop which converts primitive type parameters from JavaScript values to WebAssembly values. Externref parameters get handled separately because the conversion of primitive type parameters may cause a GC, and it would be hard for the GC to identify stack slots which contain reference parameters which have already been processed. As an optimization we remember in the first loop if we have seen a reference parameter. For functions without a reference parameter we would not iterate the parameters for a second time. R=thibaudm@chromium.org Bug: v8:12565 Change-Id: Ib36bee9d8e6b1606250fcd5f2e9cdbbdfed96356 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3412079Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#78814}
-
Jakob Gruber authored
The functionality is unused and we are simplifying OptimizationMarker usage. Drive-by: Remove unused return value of Compiler::CompileOptimized. Drive-by: Don't add kStackSpaceRequiredForCompilation as gap to the stack check when compiling concurrently, i.e. on another thread. Bug: chromium:757467 Change-Id: Ibbe204b82bf937b9eb74f9eb2c3fd2d719d53ef9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3416245Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#78800}
-
Patrick Thier authored
CallFunction is only called for targets that are checked not to be class constructors, therefore we can remove the check for class constructors from CallFunction. Change-Id: I3157b885a47f453003201be6ceb0763f7ccbcbf8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3416243 Auto-Submit: Patrick Thier <pthier@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#78799}
-