- 08 Aug, 2022 1 commit
-
-
ishell@chromium.org authored
... - a code range size agnostic version of InterpreterEntryTrampoline builtin. The new builtin is fully compatible with the default version and used as a template for creating interpreter entry trampoline Code objects when --interpreted-frames-native-stack is enabled. This CL introduces a new assembler option "position_independent_code" which affects the way builtin calls are generated. This mode is enabled only for InterpreterEntryTrampolineForProfiling. Motivation: * InterpreterEntryTrampoline uses RelocInfo::CODE_TARGET for calling other builtins which requires the code range to be small enough to allow PC-relative jumps/calls between Code objects. This is the reason why --interpreted-frames-native-stack was not supported on arm and might not work on arm64 because the code range is bigger than the max PC-relative distance for call/jump instructions. The new builtin calls other builtins via builtins entry table which makes the code fully relocatable and usable for any code range size. * RelocInfo::CODE_TARGET requires a target code to be materialized as a Code object which contradicts the Code-less builtins goal. * The --interpreted-frames-native-stack is rarely used in the wild but we have to pay the price of deserializing InterpreterEntryTrampoline builtin as a Code object which consumes address space in the code range and thus limits the number of V8 isolates that can be created because of code range exhaustion. Now the pointer compression cage becomes the limiting factor instead of the code range. * We can remove complicated logic of Factory::CopyCode() and respective support on GC side. Bug: v8:11880, v8:8713, v8:12592 Change-Id: Ib72e28c03496c43db42f6fe46622def12e102f31 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3811287Reviewed-by:
Jakob Linke <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#82263}
-
- 02 Aug, 2022 1 commit
-
-
Milad Fa authored
Port 4e329f8c Original Commit Message: The original CL did not handle the case where a GC gets triggered by the allocation of the error object when compilation fails. Orignal message: Feedback vector allocation can trigger a GC, and thereby make the WasmCompileLazyFrame visible for the GC. This CL add stack scanning for the WasmCompileLazyFrame. Design doc: http://doc/1peovM6N6C4nSEdC77l4uxU1L0njA0RTaOjy5F12r2CQ R=ahaas@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I3cdd5b0cd72463a6b492fcafcabcf65e1da55eea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3804694Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#82151}
-
- 19 Jul, 2022 1 commit
-
-
Milad Fa authored
This CL fixes macro-asm to take in scratch registers as arguments. Change-Id: Ib6070c9a9df050ce201d36027a0be44c77a54ba3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3773875 Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Reviewed-by:
Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#81832}
-
- 18 Jul, 2022 1 commit
-
-
Milad Fa authored
Port d5b3d8e9 Original Commit Message: This change already landed for x64, now come arm and ia32. The code already existed for arm64. The wasm instance got pushed three times in the lazy-compile builtin: 1) as part of the parameters; 2) as a parameter for the runtime function; 3) to load the jump table address after the runtime function; The third push can be avoided by loading the jump table address after all parameters get loaded from the stack again. R=ahaas@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I731473b2d5e08e7ea5841ef589dd3f896b5302db Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3769698 Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Reviewed-by:
Junliang Yan <junyan@redhat.com> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#81789}
-
- 29 Jun, 2022 1 commit
-
-
Toon Verwaest authored
Change-Id: Ia09e8c4528e59116be39be12d688f5b99a34c8e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3732938Reviewed-by:
Igor Sheludko <ishell@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#81437}
-
- 23 Jun, 2022 1 commit
-
-
Milad Fa authored
Port e35039e7 Original Commit Message: If the returned promise rejects, we switch to the suspender's stack and throw the value. Re-purpose the WasmOnFulfilled data to also represent the rejecting case and rename it to WasmResumeData. R=thibaudm@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Ic9e5b959df90f1041353662dc054a849fea9874e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3721416Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#81328}
-
- 20 Jun, 2022 1 commit
-
-
Igor Sheludko authored
... to avoid additional indirection on every access. Drive-by: given that AccessorInfo class now has a custom body visitor it's no longer necessary to encode flags field as Smi. Bug: v8:12949 Change-Id: I30eabee3cbc5ded2bf3f050dfe22208713a764bf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3701590Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#81237}
-
- 14 Jun, 2022 1 commit
-
-
Junliang Yan authored
Change-Id: I78ef9bf817f32b8f2b96092ed9f77f223b2aa381 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3702975Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#81160}
-
- 07 Jun, 2022 1 commit
-
-
Milad Fa authored
Port e50d19cb Original Commit Message: https://crrev.com/c/3471854 already disabled the RecordWrite builtin specifically for incremental marking. Since this didn't regress performance as expected, we can now remove those versions of the builtin. This will simplify the barrier implementation a bit, but is also required for the shared heap write barrier. Unlike the generational barrier, the shared heap barrier can't be elided for map values. R=dinfuehr@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Ic1a31fad3faaafeab077590d71d6d998eaddcc6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3691128Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Reviewed-by:
Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#80979}
-
- 02 Jun, 2022 1 commit
-
-
Junliang Yan authored
Change-Id: I65bf086579c51e7c73c25317952aa53919b07fa9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3687471 Commit-Queue: Junliang Yan <junyan@redhat.com> Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#80918}
-
- 25 May, 2022 1 commit
-
-
Milad Fa authored
Port 22a16bda Original Commit Message: 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=clemensb@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I92907b97a9d44d8cf42bb356ef350a22f7c5d5e1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3666249 Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#80752}
-
- 24 May, 2022 1 commit
-
-
Junliang Yan authored
Change-Id: Ifbfa391482215ed13954422fef028a5697ac6bb8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3663149Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#80726}
-
- 16 May, 2022 1 commit
-
-
Milad Fa authored
Port 1fcfc6a6 Original Commit Message: Read only a single byte of FLAG_trace_osr in assembly builtin code to make asan happy in the simulator. R=cbruni@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I29d21bfb79999e5e73ca546368bdf812a2353eef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3648167Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#80552}
-
- 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}
-
- 12 May, 2022 2 commits
-
-
Junliang Yan authored
Change-Id: I933301cf9b81ef6a5cc5ec891611464a1e0a1e48 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3645029 Commit-Queue: Junliang Yan <junyan@redhat.com> Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#80499}
-
Junliang Yan authored
Change-Id: I62f4d7fae09ab529756d106e77bb9bd8b3b239a3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3644850 Commit-Queue: Junliang Yan <junyan@redhat.com> Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#80489}
-
- 09 May, 2022 1 commit
-
-
Milad Fa authored
Port 3e43010a Original Commit Message: 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. R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I2f09eb755dd5986d94f736280ad38574129085e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3635717Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#80431}
-
- 02 May, 2022 2 commits
-
-
Milad Fa authored
This is a reland of commit c575e8ae Original change's description: > PPC/S390: Reland "[osr] Use the new OSR cache" > > Port 91453880 > > Original Commit Message: > > This is a reland of commit 91da3883 > > Original change's description: > > Fixed: Use an X register for JumpIfCodeTIsMarkedForDeoptimization > > on arm64. > > Bug: v8:12161 > > Change-Id: I6e63bd5995340bac32654ef12c52d25b496140e3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3607997 > Reviewed-by: Junliang Yan <junyan@redhat.com> > Commit-Queue: Milad Farazmand <mfarazma@redhat.com> > Cr-Commit-Position: refs/heads/main@{#80194} Change-Id: Id5e41c659a3c29a6d22c0393ad0003a24fa1ef5a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3621273 Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Reviewed-by:
Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#80315}
-
Milad Farazmand authored
This reverts commit c575e8ae. Reason for revert: Original CL reverted https://crrev.com/c/3615219. Original change's description: > PPC/S390: Reland "[osr] Use the new OSR cache" > > Port 91453880 > > Original Commit Message: > > This is a reland of commit 91da3883 > > Original change's description: > > Fixed: Use an X register for JumpIfCodeTIsMarkedForDeoptimization > > on arm64. > > Bug: v8:12161 > > Change-Id: I6e63bd5995340bac32654ef12c52d25b496140e3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3607997 > Reviewed-by: Junliang Yan <junyan@redhat.com> > Commit-Queue: Milad Farazmand <mfarazma@redhat.com> > Cr-Commit-Position: refs/heads/main@{#80194} Change-Id: I977e59238e1f03c21307c1499cde8b567d1e3e2c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3620538 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#80305}
-
- 28 Apr, 2022 2 commits
-
-
Milad Fa authored
Port b0118171 Original Commit Message: 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). R=szuend@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Id742eeaa59a540ec206a92308fb72bb50413e267 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3613391Reviewed-by:
Simon Zünd <szuend@chromium.org> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#80264}
-
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 1 commit
-
-
Milad Fa authored
Port 91453880 Original Commit Message: This is a reland of commit 91da3883 Original change's description: > Fixed: Use an X register for JumpIfCodeTIsMarkedForDeoptimization > on arm64. > Bug: v8:12161 Change-Id: I6e63bd5995340bac32654ef12c52d25b496140e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3607997Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#80194}
-
- 22 Apr, 2022 1 commit
-
-
Milad Fa authored
Result of `and` is stored in cr0. Change-Id: I113ff7ceb9412d2f1f8ffdd58397123603b5818a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3600550Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#80113}
-
- 21 Apr, 2022 1 commit
-
-
Junliang Yan authored
Bug: v8:12161 Change-Id: I65029217e99dd2c59af295b2f02c697415151a59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3600376Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#80093}
-
- 20 Apr, 2022 1 commit
-
-
Junliang Yan authored
Change-Id: I55a68f23106d4fed8a8f3ea7fc29c31a1aeba711 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596126Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#80063}
-
- 14 Apr, 2022 1 commit
-
-
Milad Fa authored
Port f8fddd6b Original Commit Message: 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} R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I19a1d0ae69b0576d30d67ad6ed7266b240a51409 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3585855Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#79996}
-
- 13 Apr, 2022 1 commit
-
-
Junliang Yan authored
Change-Id: I8bae34db4d1aa02516dcf4610f77d6e8edaa5775 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3581490Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#79963}
-
- 11 Apr, 2022 2 commits
-
-
Junliang Yan authored
Change-Id: I8a46ee0f64d6e9b7d71c7f494cac3eff817fbdda Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3582417Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#79923}
-
Junliang Yan authored
Port 52b99213e73045e9ffcae970e6c3f3cd07fc8381 Bug: v8:12161 Change-Id: Iac4f31eb6be83bca0e4bd407d81f1ece271b1e67 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576124Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#79917}
-
- 04 Apr, 2022 6 commits
-
-
Junliang Yan authored
Change-Id: Iadf5d379e105232c0992e3588ecd9a1c5f3500d2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3570422Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#79767}
-
Junliang Yan authored
Change-Id: I0b69c8042f1b88efc14d2923c595b14f45b9557e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3568471Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#79765}
-
Junliang Yan authored
Change-Id: I698fbf3d49ed7e88a6004ead38427e4ca3a02663 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3569681Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#79764}
-
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}
-
Junliang Yan authored
Change-Id: Id3c0c09ca0c0e3b95ec51a8563d092c8410d3bc5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3568925Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#79753}
-
Milad Fa authored
Port 1ff685d8 Original Commit Message: .. since they are the same as eager deopts (% an unused counter). R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I5575f2b14393e0b1a653b8d6be00c9dab338c160 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3568924Reviewed-by:
Jakob Linke <jgruber@chromium.org> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#79745}
-
- 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
-
-
Milad Fa authored
Port 0a110021 Original Commit Message: All architectures have kSupportsFixedDeoptExitSizes = true, so we can remove kSupportsFixedDeoptExitSizes entirely and always have fixed-size deopts. R=leszeks@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: If33d936ea59e6add15b835793637fc50f28d07fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3557254Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#79657}
-
- 21 Mar, 2022 1 commit
-
-
Milad Fa authored
Port b2978927 Original Commit Message: 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). R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I64476f73810774c2c592231d82c4a2cbfa2bf94e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3537881Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#79551}
-
- 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}
-