- 07 Sep, 2022 1 commit
-
-
Camillo authored
Re-implement the --log-function-events functionality after refactoring the tiering state bits on the FeedbackVector. The new version also tries to log first-execution of non-interpreter code and will handle OSR events. Not-yet supported: - First-execution logging when OSR-ing in Sparkplug or Maglev Bug: v8:13146 Change-Id: I2059c6d8105091f20586eaf157ef19d5e65295aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3832375Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#83019}
-
- 05 Sep, 2022 1 commit
-
-
Clemens Backes authored
Avoid the deprecated FLAG_* syntax, access flag values via the {v8_flags} struct instead. R=nicohartmann@chromium.org Bug: v8:12887 Change-Id: Icc9016552c53489afd821ff6d360c025e48fee18 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3871201 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#82981}
-
- 30 Aug, 2022 2 commits
-
-
Milad Fa authored
Port af62c4f0 Original Commit Message: Adapted from https://crrev.com/c/3862264. Add a new teardown trampoline for the case where a Sparkplug function is deoptimized during its function entry stack check. In these cases, the stack is in an incomplete setup state, so instead of forwarding to interpreter re-entry, we undo the partial stack setup and forward to the standard interpreter entry. R=szuend@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I6e3b906938dc9a297b602290e762426e56fb8d9d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3864189Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#82828}
-
Milad Fa authored
Port ed90ea5c Original Commit Message: This implementation sticks closely to what Ignition-to-Turbofan (and now Sparkplug-to-TF) does. OSR is detected in the TieringManager by having optimized code available, without having entered it. The osr_urgency is increased to enable OSR for increasing loop depths. When a candidate JumpLoop backedge is reached, we call into runtime to trigger OSR compilation. JumpLoop also detects the availability of cached OSR'd code. When a matching OSR code object is available, Maglev 1) deoptimizes s.t. the unoptimized frame layout is reconstructed, and 2) delegates the actual OSR tierup to the unoptimized tier. For purposes of 1), we add a new DeoptimizeReason that causes a one-time eager deopt without invalidating any code. into a generic spot that both SP and ML can use. R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I2de3ef530b9d1aac97e499fee75716a958cd9d09 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3863277 Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Reviewed-by:
Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#82827}
-
- 29 Aug, 2022 1 commit
-
-
Milad Fa authored
Port 8a56da44 Original Commit Message: ... so that the offset fits into the maximum offset for load byte instruction for arm/arm64 (Ldrb) in order to produce smaller code. Update code generation so that the loading of the flag value is combined with the comparison operation where possible. Additionally, this CL moves the Isolate::is_profiling flag to the IsolateData so that it can be loaded directly via roots register which removes one indirection. The fields moved in the IsolateData: - is_marking_flag and is_minor_marking_flag (checked by write barriers) - is_profiling (checked on API callbacks/getter calls) - stack_is_iterable (not super hot, checked during deoptimization). the field size expectations clear. R=ishell@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Ibafb23e9a035caffe6921a304a3d318b54732167 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3862227Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#82790}
-
- 26 Aug, 2022 2 commits
-
-
Leszek Swirski authored
Change the has-optimized FeedbackVector bit to two bits, one for Maglev and one for Turbofan. Ignition and Sparkplug can check both bits, while Maglev will only check the Turbofan one. Bug: v8:7700 Change-Id: I95f6e4326180cac02f127a97438f960950f09d82 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3856569 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#82748}
-
Milad Fa authored
Port 1e5c03c7 Original Commit Message: This CL simplifies the API calls by removing some instructions from the most common path. R=ishell@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I989c7da21347dc8a081b55ecea6374d3415d4aa3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3857444Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#82734}
-
- 22 Aug, 2022 1 commit
-
-
ishell@chromium.org authored
Namely: - AccessorInfo::getter and AccessorInfo::js_getter, - CallHandlerInfo::callback and CallHandlerInfo::js_callback. The redirected/non-redirected callback distinction is required only for simulated builds but we wasted memory also for all native builds. Now we store these fields in "redirected" form which allows us to call them directly from builtins or generated code. In case it's necessary to call a callback from C++ code the C function address is read from the redirection. This additional indirection makes the callback calls from C++ code in simulated builds slower but saves memory for native builds. This CL should recover a part of memory regression caused by inlining Foreign fields into AccessorInfo and CallHandlerInfo. Bug: v8:12949, chromium:1336105, chromium:1335930 Change-Id: I38470ed21ee23b281247c11a9531542c7e4acca1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3835686Reviewed-by:
Jakob Linke <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#82631}
-
- 10 Aug, 2022 1 commit
-
-
Milad Fa authored
Port ca33c73e Original Commit Message: .. since these functions will also be used by Maglev codegen. R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Icccc06b76cd61902900b0deecbfe1fbe46202235 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3822670 Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Reviewed-by:
Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#82362}
-
- 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}
-
- 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}
-
- 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}
-
- 25 May, 2022 2 commits
-
-
Milad Fa authored
ip holds the jump table slot. Change-Id: Ia56bf62835155d58ef10e57d761088d0b9a9710d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3668285Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#80753}
-
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}
-
- 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}
-
- 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 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 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}
-
- 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}
-
- 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}
-
- 11 Apr, 2022 1 commit
-
-
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}
-
- 07 Apr, 2022 1 commit
-
-
Milad Fa authored
Passing `ip/r1` as scratch to LoadV128 anf StoreV128. Change-Id: Ie86d3bd241065de985f98025e7bb60aba4cd42d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576132Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#79864}
-
- 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}
-
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}
-
- 15 Mar, 2022 1 commit
-
-
Milad Fa authored
Port 8a0d1b6f Original Commit Message: 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. R=leszeks@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I997156fe4f4f2ccc40b2631d5cb752efdc8a5ad2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3525084Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#79484}
-
- 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}
-
- 17 Feb, 2022 1 commit
-
-
Junliang Yan authored
Change-Id: I08f3ad3987f633de5073c7f44ebb7a71de2425e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3470564Reviewed-by:
Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#79147}
-